Mercurial > projects > ldc
comparison CMakeLists.txt @ 1103:b30fe7e1dbb9
- Updated to DMD frontend 1.041.
- Removed dmd/inifile.c , it's not under a free license, replaced with libconfig based config file.
author | Tomas Lindquist Olsen <tomas.l.olsen gmail.com> |
---|---|
date | Thu, 12 Mar 2009 20:37:27 +0100 |
parents | d9820e08bb84 |
children | cdb7e1167803 |
comparison
equal
deleted
inserted
replaced
1102:ae950bd712d3 | 1103:b30fe7e1dbb9 |
---|---|
7 include(FindPerl) | 7 include(FindPerl) |
8 if(NOT PERL) | 8 if(NOT PERL) |
9 message(FATAL_ERROR "perl not found") | 9 message(FATAL_ERROR "perl not found") |
10 endif(NOT PERL) | 10 endif(NOT PERL) |
11 | 11 |
12 include(FindPkgConfig) | |
13 if(NOT PKG_CONFIG_FOUND) | |
14 message(FATAL_ERROR "pkg-config not found") | |
15 else(NOT PKG_CONFIG_FOUND) | |
16 pkg_search_module(LIBCONFIGPP libconfig++) | |
17 if(NOT LIBCONFIGPP_FOUND) | |
18 message(FATAL_ERROR "libconfig++ not found") | |
19 endif(NOT LIBCONFIGPP_FOUND) | |
20 set(LIBCONFIG_CXXFLAGS ${LIBCONFIGPP_CFLAGS} CACHE STRING "libconfig++ compiler flags") | |
21 set(LIBCONFIG_LDFLAGS ${LIBCONFIGPP_LDFLAGS} CACHE STRING "libconfig++ linker flags") | |
22 endif(NOT PKG_CONFIG_FOUND) | |
23 | |
24 | |
12 find_program(LLVM_CONFIG llvm-config ${LLVM_INSTDIR}/bin DOC "path to llvm-config tool") | 25 find_program(LLVM_CONFIG llvm-config ${LLVM_INSTDIR}/bin DOC "path to llvm-config tool") |
13 # get llvm's install dir. a little hackish, we could do something like llvm-config --prefix, but this does as well | 26 # get llvm's install dir. a little hackish, we could do something like llvm-config --prefix, but this does as well |
14 string(REPLACE "/bin/llvm-config" "" LLVM_DIR ${LLVM_CONFIG}) | 27 string(REPLACE "/bin/llvm-config" "" LLVM_DIR ${LLVM_CONFIG}) |
15 | 28 |
16 set(LLVM_INSTDIR ${LLVM_DIR} CACHE PATH "LLVM installation directory" FORCE) | 29 set(LLVM_INSTDIR ${LLVM_DIR} CACHE PATH "LLVM installation directory" FORCE) |
37 COMMAND ${PERL_EXECUTABLE} ${LLVM_CONFIG} --ldflags | 50 COMMAND ${PERL_EXECUTABLE} ${LLVM_CONFIG} --ldflags |
38 OUTPUT_VARIABLE LLVM_LDFLAGS | 51 OUTPUT_VARIABLE LLVM_LDFLAGS |
39 OUTPUT_STRIP_TRAILING_WHITESPACE | 52 OUTPUT_STRIP_TRAILING_WHITESPACE |
40 ) | 53 ) |
41 execute_process( | 54 execute_process( |
42 COMMAND ${PERL_EXECUTABLE} ${LLVM_CONFIG} --libfiles bitwriter linker ipo instrumentation backend | 55 COMMAND ${PERL_EXECUTABLE} ${LLVM_CONFIG} --libfiles bitwriter linker ipo instrumentation backend arm |
43 OUTPUT_VARIABLE LLVM_LIBS | 56 OUTPUT_VARIABLE LLVM_LIBS |
44 OUTPUT_STRIP_TRAILING_WHITESPACE | 57 OUTPUT_STRIP_TRAILING_WHITESPACE |
45 ) | 58 ) |
46 | 59 |
47 set(D_VERSION 1 CACHE STRING "D language version") | 60 set(D_VERSION 1 CACHE STRING "D language version") |
159 if(CMAKE_MINOR_VERSION LESS 6) | 172 if(CMAKE_MINOR_VERSION LESS 6) |
160 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "output dir for built executables") | 173 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "output dir for built executables") |
161 set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib CACHE PATH "output dir for built libraries") | 174 set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib CACHE PATH "output dir for built libraries") |
162 add_definitions(-DDEFAULT_TARGET_TRIPLE=\\"${DEFAULT_TARGET}\\") | 175 add_definitions(-DDEFAULT_TARGET_TRIPLE=\\"${DEFAULT_TARGET}\\") |
163 add_definitions(-DDEFAULT_ALT_TARGET_TRIPLE=\\"${DEFAULT_ALT_TARGET}\\") | 176 add_definitions(-DDEFAULT_ALT_TARGET_TRIPLE=\\"${DEFAULT_ALT_TARGET}\\") |
177 add_definitions(-DLDC_INSTALL_PREFIX=\\"${CMAKE_INSTALL_PREFIX}\\") | |
164 else(CMAKE_MINOR_VERSION LESS 6) | 178 else(CMAKE_MINOR_VERSION LESS 6) |
165 add_definitions(-DDEFAULT_TARGET_TRIPLE="${DEFAULT_TARGET}") | 179 add_definitions(-DDEFAULT_TARGET_TRIPLE="${DEFAULT_TARGET}") |
166 add_definitions(-DDEFAULT_ALT_TARGET_TRIPLE="${DEFAULT_ALT_TARGET}") | 180 add_definitions(-DDEFAULT_ALT_TARGET_TRIPLE="${DEFAULT_ALT_TARGET}") |
181 add_definitions(-DLDC_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}") | |
167 endif(CMAKE_MINOR_VERSION LESS 6) | 182 endif(CMAKE_MINOR_VERSION LESS 6) |
168 | 183 |
169 add_executable(${LDC_EXE} ${LDC_SOURCE_FILES}) | 184 add_executable(${LDC_EXE} ${LDC_SOURCE_FILES}) |
170 | 185 |
171 # generate revision info | 186 # generate revision info |
188 | 203 |
189 set_target_properties( | 204 set_target_properties( |
190 ${LDC_EXE} PROPERTIES | 205 ${LDC_EXE} PROPERTIES |
191 OUTPUT_NAME ${LDC_EXE_NAME} | 206 OUTPUT_NAME ${LDC_EXE_NAME} |
192 RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin | 207 RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin |
193 COMPILE_FLAGS "${LLVM_CXXFLAGS} -Wno-deprecated -Wno-write-strings" | 208 COMPILE_FLAGS "${LLVM_CXXFLAGS} ${LIBCONFIG_CXXFLAGS} -Wno-deprecated -Wno-write-strings" |
194 ) | 209 ) |
195 | 210 |
196 # LDFLAGS should actually be in target property LINK_FLAGS, but this works, and gets around linking problems | 211 # LDFLAGS should actually be in target property LINK_FLAGS, but this works, and gets around linking problems |
197 target_link_libraries(${LDC_EXE} "${LLVM_LDFLAGS} ${LLVM_LIBS}") | 212 target_link_libraries(${LDC_EXE} "${LLVM_LDFLAGS} ${LLVM_LIBS} ${LIBCONFIG_LDFLAGS}") |
198 if(WIN32) | 213 if(WIN32) |
199 target_link_libraries(${LDC_EXE} psapi) | 214 target_link_libraries(${LDC_EXE} psapi) |
200 set(CONF_INST_DIR bin) | 215 set(CONF_INST_DIR bin) |
201 endif(WIN32) | 216 endif(WIN32) |
202 | 217 |