Wiki Roadmap Timeline Tickets New Ticket Source Search Help / Guide About Trac Login

Changeset 785:ac39e5449ca5

Show
Ignore:
Timestamp:
11/24/08 12:17:58 (2 months ago)
Author:
Christian Kamm <kamm incasoftware de>
branch:
default
Message:

Apply Elrood's CMake changes from #124. Thanks a lot!

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • CMakeLists.txt

    r758 r785  
    1010endif(NOT PERL) 
    1111 
    12 set(LLVM_INSTDIR CACHE PATH "LLVM installation directory") 
     12find_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 
     14string(REPLACE "/bin/llvm-config" "" LLVM_DIR ${LLVM_CONFIG}) 
    1315 
    14 find_program(LLVM_CONFIG llvm-config ${LLVM_INSTDIR}/bin DOC "path to llvm-config tool"
    15 if(NOT LLVM_CONFIG
    16     message(FATAL_ERROR "llvm-config not found") 
    17 endif(NOT LLVM_CONFIG
     16set(LLVM_INSTDIR ${LLVM_DIR} CACHE PATH "LLVM installation directory" FORCE
     17if(NOT LLVM_INSTDIR
     18    message(FATAL_ERROR "llvm not found") 
     19endif(NOT LLVM_INSTDIR
    1820 
    1921execute_process( 
     
    3739    OUTPUT_STRIP_TRAILING_WHITESPACE 
    3840) 
    39 # get llvm's install dir. a little hackish, we could do something like llvm-config --prefix, but this does as well 
    40 string(REPLACE "/bin/llvm-config" "" LLVM_INSTDIR ${LLVM_CONFIG}) 
    4141 
    4242set(D_VERSION 1 CACHE STRING "D language version") 
     43option(USE_BOEHM_GC "use the Boehm garbage collector internally") 
     44 
    4345if(D_VERSION EQUAL 1) 
    4446    set(DMDFE_PATH dmd) 
     
    7072    idgen impcnvgen PROPERTIES 
    7173    LINKER_LANGUAGE CXX 
     74    RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${DMDFE_PATH} 
    7275) 
    7376get_target_property(IDGEN_LOC idgen LOCATION) 
     
    128131    -D_DH 
    129132    -DOPAQUE_VTBLS 
    130     -DUSE_BOEHM_GC=0 
    131133    -DX86_REVERSE_PARAMS 
    132134    -DX86_PASS_IN_EAX 
     
    135137if(UNIX) 
    136138    add_definitions(-DPOSIX) 
    137     #set(CONF_SUFFIX conf) 
    138139endif(UNIX) 
    139140 
     141if(USE_BOEHM_GC) 
     142    add_definitions(-DUSE_BOEHM_GC) 
     143endif(USE_BOEHM_GC) 
     144 
    140145if(CMAKE_MINOR_VERSION LESS 6) 
     146    set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin CACHE PATH "output dir for built executables") 
     147    set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib CACHE PATH "output dir for built libraries") 
    141148    add_definitions(-DDEFAULT_TARGET_TRIPLE=\\"${DEFAULT_TARGET}\\") 
    142149else(CMAKE_MINOR_VERSION LESS 6) 
     
    156163if(WIN32) 
    157164    target_link_libraries(${LDC_EXE} psapi) 
    158     #set(CONF_SUFFIX ini) 
    159165endif(WIN32) 
    160166 
    161 # cmake pre 2.6 doesn't support the RUNTIME_OUTPUT_DIRECTORY target property 
    162 if(CMAKE_MINOR_VERSION LESS 6) 
    163     get_target_property(LDC_LOC ${LDC_EXE} LOCATION) 
    164     add_custom_command( 
    165         TARGET ${LDC_EXE} 
    166         POST_BUILD 
    167         COMMAND ${CMAKE_COMMAND} -E copy ${LDC_LOC} ${PROJECT_BINARY_DIR}/bin/ 
    168         COMMAND ${CMAKE_COMMAND} -E remove ${LDC_LOC} 
    169     ) 
    170 endif(CMAKE_MINOR_VERSION LESS 6) 
     167if(USE_BOEHM_GC) 
     168    target_link_libraries(${LDC_EXE} gc) 
     169endif(USE_BOEHM_GC) 
    171170 
    172 #configure_file(${PROJECT_SOURCE_DIR}/ldc.conf.in ${PROJECT_BINARY_DIR}/bin/ldc.${CONF_SUFFIX}) 
    173      
    174 # TODO: runtime build 
    175 # possible problems: 
    176 #   with an oos-build, how to set up a working environment, with conf/ini and tango in place? 
    177 #   patch tango? how to determine if that's already been done? 
    178 #   std but compatible runtime build, or shared, which doesn't yet work on every platform 
    179 #    
     171get_target_property(LDC_LOC ${LDC_EXE} LOCATION) 
     172 
    180173# TODO: install target 
    181174# TODO: testrun 
     175 
     176add_subdirectory(runtime EXCLUDE_FROM_ALL) 
  • dmd/mars.c

    r741 r785  
    346346    VersionCondition::addPredefinedGlobalIdent("all"); 
    347347 
    348 #if _WIN32 
    349     inifile(global.params.argv0, "ldc.ini"); 
    350 #elif POSIX 
     348//#if _WIN32 
     349//    inifile(global.params.argv0, "ldc.ini"); 
     350//#elif POSIX 
    351351    inifile(global.params.argv0, "ldc.conf"); 
    352 #else 
    353 #error 
    354 #endif 
     352//#else 
     353//#error 
     354//#endif 
    355355    getenv_setargv("DFLAGS", &argc, &argv); 
    356356 
Copyright © 2008, LDC Development Team.