2 cmake_minimum_required(VERSION 3.9)
8 if("${Git_FOUND}" AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
11 COMMAND "${CMAKE_COMMAND}"
12 -DGIT_EXECUTABLE="${GIT_EXECUTABLE}"
13 -DINFILE="${CMAKE_CURRENT_SOURCE_DIR}/version.h.in"
14 -DOUTFILE="${CMAKE_CURRENT_BINARY_DIR}/version.h"
15 -P "${CMAKE_CURRENT_SOURCE_DIR}/WriteVersion.cmake"
16 WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
17 COMMENT "Updating version info..."
20 set(tim41VersionStr "current")
21 set(tim41Version3Comma "41,0,0")
22 configure_file(version.h.in version.h)
25 include_directories("${CMAKE_CURRENT_BINARY_DIR}")
66 -DVORBIS_DLL_INCLUDE_VORBISENC
94 -D_CRT_SECURE_NO_WARNINGS
98 add_compile_options(-W4 -Zi -fp:fast)
100 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /GL /GS /guard:cf")
101 set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL /GS /guard:cf")
103 set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /DEBUG:FASTLINK")
104 set(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /DEBUG:FASTLINK")
105 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /OPT:REF /OPT:ICF /LTCG:incremental /DEBUG:FULL /GUARD:CF")
106 set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /OPT:REF /OPT:ICF /LTCG:incremental /DEBUG:FULL /GUARD:CF")
107 set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG:incremental")
108 set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF /DEBUG:FASTLINK")
109 set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF /DEBUG:FASTLINK")
116 add_compile_options(-Wall -Wextra)
117 set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -s")
118 set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} -s")
121 function(DisableMSManifest targetName)
123 get_property(linkFlags TARGET ${targetName} PROPERTY LINK_FLAGS)
124 set_target_properties(${targetName} PROPERTIES LINK_FLAGS "${linkFlags} /MANIFEST:NO")
128 include_directories("." interface libarc libunimod pdcurses portaudio/pa_common timidity utils)
130 add_subdirectory(pdcurses)
131 add_subdirectory(speex)
133 add_subdirectory(interface)
134 add_subdirectory(libarc)
135 add_subdirectory(libunimod)
136 add_subdirectory(timidity)
137 add_subdirectory(utils)