Mercurial > projects > ldc
comparison CMakeLists.txt @ 828:03b0c817a1a3
added install target and possibility to pre- and suffix ldc's executable name to cmake scripts
author | elrood |
---|---|
date | Thu, 04 Dec 2008 22:09:24 +0100 |
parents | 8f0b24bc55f0 |
children | 0a31c60a6bc1 |
comparison
equal
deleted
inserted
replaced
827:489f6f39ca09 | 828:03b0c817a1a3 |
---|---|
38 OUTPUT_VARIABLE LLVM_LIBS | 38 OUTPUT_VARIABLE LLVM_LIBS |
39 OUTPUT_STRIP_TRAILING_WHITESPACE | 39 OUTPUT_STRIP_TRAILING_WHITESPACE |
40 ) | 40 ) |
41 | 41 |
42 set(D_VERSION 1 CACHE STRING "D language version") | 42 set(D_VERSION 1 CACHE STRING "D language version") |
43 set(PROGRAM_PREFIX CACHE STRING "prepended to ldc binary name") | |
44 set(PROGRAM_SUFFIX CACHE STRING "appended to ldc binary name") | |
43 option(USE_BOEHM_GC "use the Boehm garbage collector internally") | 45 option(USE_BOEHM_GC "use the Boehm garbage collector internally") |
44 option(GENERATE_OFFTI "generate complete ClassInfo.offTi arrays") | 46 option(GENERATE_OFFTI "generate complete ClassInfo.offTi arrays") |
45 | 47 |
46 if(D_VERSION EQUAL 1) | 48 if(D_VERSION EQUAL 1) |
47 set(DMDFE_PATH dmd) | 49 set(DMDFE_PATH dmd) |
135 -DX86_PASS_IN_EAX | 137 -DX86_PASS_IN_EAX |
136 ) | 138 ) |
137 | 139 |
138 if(UNIX) | 140 if(UNIX) |
139 add_definitions(-DPOSIX) | 141 add_definitions(-DPOSIX) |
142 set(CONF_INST_DIR etc) | |
140 endif(UNIX) | 143 endif(UNIX) |
141 | 144 |
142 if(USE_BOEHM_GC) | 145 if(USE_BOEHM_GC) |
143 add_definitions(-DUSE_BOEHM_GC) | 146 add_definitions(-DUSE_BOEHM_GC) |
144 endif(USE_BOEHM_GC) | 147 endif(USE_BOEHM_GC) |
155 add_definitions(-DDEFAULT_TARGET_TRIPLE="${DEFAULT_TARGET}") | 158 add_definitions(-DDEFAULT_TARGET_TRIPLE="${DEFAULT_TARGET}") |
156 endif(CMAKE_MINOR_VERSION LESS 6) | 159 endif(CMAKE_MINOR_VERSION LESS 6) |
157 | 160 |
158 add_executable(${LDC_EXE} ${LDC_SOURCE_FILES}) | 161 add_executable(${LDC_EXE} ${LDC_SOURCE_FILES}) |
159 | 162 |
163 set(LDC_EXE_NAME ${PROGRAM_PREFIX}${LDC_EXE}${PROGRAM_SUFFIX}) | |
164 | |
160 set_target_properties( | 165 set_target_properties( |
161 ${LDC_EXE} PROPERTIES | 166 ${LDC_EXE} PROPERTIES |
167 OUTPUT_NAME ${LDC_EXE_NAME} | |
162 RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin | 168 RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin |
163 COMPILE_FLAGS "${LLVM_CXXFLAGS} -Wno-deprecated -Wno-write-strings" | 169 COMPILE_FLAGS "${LLVM_CXXFLAGS} -Wno-deprecated -Wno-write-strings" |
164 ) | 170 ) |
165 | 171 |
166 # LDFLAGS should actually be in target property LINK_FLAGS, but this works, and gets around linking problems | 172 # LDFLAGS should actually be in target property LINK_FLAGS, but this works, and gets around linking problems |
167 target_link_libraries(${LDC_EXE} "${LLVM_LDFLAGS} ${LLVM_LIBS}") | 173 target_link_libraries(${LDC_EXE} "${LLVM_LDFLAGS} ${LLVM_LIBS}") |
168 if(WIN32) | 174 if(WIN32) |
169 target_link_libraries(${LDC_EXE} psapi) | 175 target_link_libraries(${LDC_EXE} psapi) |
176 set(CONF_INST_DIR bin) | |
170 endif(WIN32) | 177 endif(WIN32) |
171 | 178 |
172 if(USE_BOEHM_GC) | 179 if(USE_BOEHM_GC) |
173 target_link_libraries(${LDC_EXE} gc) | 180 target_link_libraries(${LDC_EXE} gc) |
174 endif(USE_BOEHM_GC) | 181 endif(USE_BOEHM_GC) |
175 | 182 |
176 get_target_property(LDC_LOC ${LDC_EXE} LOCATION) | 183 get_target_property(LDC_LOC ${LDC_EXE} LOCATION) |
177 | 184 |
178 # TODO: install target | |
179 # TODO: testrun | 185 # TODO: testrun |
180 | 186 |
181 add_subdirectory(runtime EXCLUDE_FROM_ALL) | 187 install(TARGETS ${LDC_EXE} DESTINATION bin) |
188 | |
189 install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE_NAME}.conf DESTINATION ${CONF_INST_DIR}) | |
190 | |
191 add_subdirectory(runtime) |