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)