forked from ds-sloth/mmutil
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
68 lines (60 loc) · 1.58 KB
/
CMakeLists.txt
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
cmake_minimum_required(VERSION 3.2...3.5)
project(mmutil VERSION 1.10.2 LANGUAGES C)
include(GNUInstallDirs)
set(LIBMMUTIL_SRC
source/adpcm.c
source/adpcm.h
source/defs.h
source/deftypes.h
source/errors.h
source/files.c
source/files.h
source/gba.c
source/gba.h
source/it.c
source/it.h
source/kiwi.c
source/mas.c
source/mas.h
source/mod.c
source/mod.h
source/msl.c
source/nds.c
source/nds.h
source/poopen.h
source/s3m.c
source/s3m.h
source/samplefix.c
source/samplefix.h
source/simple.c
source/simple.h
source/solution.h
source/systems.h
# source/upload.c
source/version.h
source/wav.c
source/wav.h
source/xm.c
source/xm.h
source/arm7_st.inc
source/arm9_st.inc
public/mmutil.h
)
add_library(libmmutil "${LIBMMUTIL_SRC}")
set_target_properties(libmmutil PROPERTIES OUTPUT_NAME mmutil PUBLIC_HEADER "public/mmutil.h")
target_include_directories(libmmutil PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/public")
target_link_libraries(libmmutil PUBLIC m)
set_target_properties(libmmutil PROPERTIES OUTPUT_NAME "mmutil")
add_executable(mmutil source/main.c)
target_compile_definitions(mmutil PRIVATE "-DPACKAGE_VERSION=\"${CMAKE_PROJECT_VERSION}\"")
target_link_libraries(mmutil PRIVATE libmmutil)
if(NOT MSVC)
target_compile_options(libmmutil PRIVATE -Wall -Wextra -Wno-multichar)
target_compile_options(mmutil PRIVATE -Wall -Wextra -Wno-multichar)
endif()
install(TARGETS libmmutil mmutil
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
)