summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: dfb8f08ec3f4ae408661a7f373c40401e16e1416 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# SPDX-License-Identifier: Unlicense

cmake_minimum_required(VERSION 3.16)
project(m68k-disasm)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_EXPORT_COMPILE_COMMANDS True)
set(common_flags)
set(common_debug_flags "-fsanitize=address -fno-omit-frame-pointer -O1")
# Uncomment to enalbe profiler
set(common_debug_flags "${common_debug_flags} -pg")
set(common_compile_flags "-Wall -Wextra -pedantic")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${common_compile_flags} ${common_flags}")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${common_debug_flags}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${common_compile_flags} ${common_flags}")
# Speed up compilation with -fno-exceptions and -fno-rtti
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti -Wno-nested-anon-types")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${common_debug_flags}")
set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${common_flags}")
set(CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} ${common_debug_flags}")

set(m68kdisasm_sources
    main.cpp
    data_buffer.cpp
    disasm.cpp
    )

add_executable(m68k-disasm ${m68kdisasm_sources})

include_directories(
    .
    lib
    )