1
1
cmake_minimum_required (VERSION 2.8.5 )
2
+
2
3
project (scas C )
4
+ set (CMAKE_C_STANDARD 99 )
5
+ # Long term goal: add -Werror
6
+ set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic" )
7
+
3
8
if (WIN32 )
4
- set (CMAKE_C_FLAGS "-g -std=c99 -Wl,--allow-multiple-definition" )
5
- else ()
6
- set (CMAKE_C_FLAGS "-g -std=c99" )
9
+ set (CMAKE_C_FLAGS "-Wl,--allow-multiple-definition" )
10
+ endif ()
11
+
12
+ if (NOT DEFINED CMAKE_BUILD_TYPE )
13
+ set (CMAKE_BUILD_TYPE Release CACHE STRING "Build type (Debug or Release)" FORCE )
7
14
endif ()
8
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin/" )
9
- add_definitions ("-Wall" )
10
- set (CMAKE_BUILD_TYPE Debug )
11
15
12
16
if (EMSCRIPTEN )
13
17
set (CMAKE_EXE_LINKER_FLAGS "-O2" )
@@ -18,11 +22,6 @@ add_custom_command(
18
22
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR} /tables/z80.tab ${CMAKE_CURRENT_SOURCE_DIR} /generate-tables.sh
19
23
COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /generate-tables.sh ${CMAKE_CURRENT_SOURCE_DIR} /tables/z80.tab ${CMAKE_CURRENT_BINARY_DIR} /tables/z80.c )
20
24
21
- include_directories (
22
- include /
23
- scas/
24
- )
25
-
26
25
FILE (GLOB common ${PROJECT_SOURCE_DIR} /common/*.c )
27
26
FILE (GLOB assembler ${PROJECT_SOURCE_DIR} /assembler/*.c )
28
27
FILE (GLOB linker ${PROJECT_SOURCE_DIR} /linker/*.c )
@@ -38,6 +37,11 @@ add_executable(scas
38
37
${PROJECT_BINARY_DIR} /tables/z80.c
39
38
)
40
39
40
+ include_directories (scas
41
+ ${CMAKE_SOURCE_DIR} /include/
42
+ ${CMAKE_SOURCE_DIR} /scas/
43
+ )
44
+
41
45
add_library (libscas SHARED
42
46
${common}
43
47
${assembler}
@@ -98,44 +102,27 @@ if(SCAS_DOCUMENTATION)
98
102
99
103
INSTALL (
100
104
FILES ${CMAKE_CURRENT_BINARY_DIR} /bin/scas.1
101
- DESTINATION man/man1
105
+ DESTINATION ${CMAKE_INSTALL_PREFIX} /share/ man/man1
102
106
)
103
107
104
108
INSTALL (
105
109
FILES ${CMAKE_CURRENT_BINARY_DIR} /bin/scdump.1
106
- DESTINATION man/man1
110
+ DESTINATION ${CMAKE_INSTALL_PREFIX} /share/ man/man1
107
111
)
108
112
109
113
INSTALL (
110
114
FILES ${CMAKE_CURRENT_BINARY_DIR} /bin/scwrap.1
111
- DESTINATION man/man1
115
+ DESTINATION ${CMAKE_INSTALL_PREFIX} /share/ man/man1
112
116
)
113
117
114
118
endif ()
115
119
116
120
INSTALL (
117
- TARGETS scas
118
- RUNTIME DESTINATION bin
119
- )
120
-
121
- INSTALL (
122
- TARGETS scdump
123
- RUNTIME DESTINATION bin
124
- )
125
-
126
- INSTALL (
127
- TARGETS scwrap
128
- RUNTIME DESTINATION bin
129
- )
130
-
131
- INSTALL (
132
- TARGETS libscas
133
- ARCHIVE DESTINATION lib
134
- RUNTIME DESTINATION lib
135
- LIBRARY DESTINATION lib
121
+ TARGETS scas scdump scwrap libscas
122
+ RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX} /bin
123
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX} /lib
136
124
)
137
125
138
- install (
139
- DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /include/
126
+ install (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /include/
140
127
DESTINATION include /scas
141
128
)
0 commit comments