| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 |
- IF(NOT KWSYS_NAMESPACE)
- SET(KWSYS_NAMESPACE "kwsys")
- SET(KWSYS_DEFAULTS 1)
- ENDIF(NOT KWSYS_NAMESPACE)
- PROJECT(${KWSYS_NAMESPACE})
- INCLUDE(${CMAKE_ROOT}/Modules/CheckIncludeFileCXX.cmake)
- INCLUDE(${CMAKE_ROOT}/Modules/TestForSTDNamespace.cmake)
- INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake)
- CHECK_INCLUDE_FILE_CXX("sstream" CMAKE_HAS_ANSI_STRING_STREAM)
- CHECK_INCLUDE_FILE_CXX("iosfwd" CMAKE_ANSI_IOSFWD_HEADER)
- IF(NOT CMAKE_ANSI_IOSFWD_HEADER)
- SET(CMAKE_NO_ANSI_STREAM_HEADERS 1)
- ENDIF(NOT CMAKE_ANSI_IOSFWD_HEADER)
- IF(NOT CMAKE_HAS_ANSI_STRING_STREAM)
- SET(CMAKE_NO_ANSI_STRING_STREAM 1)
- ENDIF(NOT CMAKE_HAS_ANSI_STRING_STREAM)
- IF(KWSYS_FORCE_OLD_STREAMS)
- SET(CMAKE_NO_ANSI_STREAM_HEADERS 1)
- SET(CMAKE_NO_ANSI_STRING_STREAM 1)
- ENDIF(KWSYS_FORCE_OLD_STREAMS)
- SET(KWSYS_NO_STD_NAMESPACE ${CMAKE_NO_STD_NAMESPACE})
- SET(KWSYS_NO_ANSI_STREAM_HEADERS ${CMAKE_NO_ANSI_STREAM_HEADERS})
- SET(KWSYS_NO_ANSI_STRING_STREAM ${CMAKE_NO_ANSI_STRING_STREAM})
- SET(KWSYS_NO_ANSI_FOR_SCOPE ${CMAKE_NO_ANSI_FOR_SCOPE})
- IF(CMAKE_ANSI_CFLAGS)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
- ENDIF(CMAKE_ANSI_CFLAGS)
- SET(CLASSES Directory RegularExpression SystemTools)
- SET(H Process)
- SET(HXX Configure)
- IF(NOT UNIX)
- ADD_EXECUTABLE(${KWSYS_NAMESPACE}ProcessFwd9x ProcessFwd9x.c)
- ADD_EXECUTABLE(${KWSYS_NAMESPACE}EncodeExecutable EncodeExecutable.c)
- SET(SRCS ProcessWin32.c ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c)
- SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
- PROPERTIES GENERATED 1)
- ELSE(NOT UNIX)
- SET(SRCS ProcessUNIX.c)
- ENDIF(NOT UNIX)
- SET(KWSYS_INCLUDES)
- FOREACH(c ${CLASSES})
- SET(SRCS ${SRCS} ${c}.cxx)
- CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${c}.hxx.in
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${c}.hxx
- @ONLY IMMEDIATE)
- SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${c}.hxx)
- ENDFOREACH(c)
- FOREACH(h ${H})
- CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${h}.h.in
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.h
- @ONLY IMMEDIATE)
- SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.h)
- ENDFOREACH(h)
- FOREACH(h ${HXX})
- CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/${h}.hxx.in
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.hxx
- @ONLY IMMEDIATE)
- SET(KWSYS_INCLUDES ${KWSYS_INCLUDES}
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/${h}.hxx)
- ENDFOREACH(h)
- ADD_LIBRARY(${KWSYS_NAMESPACE} ${SRCS})
- ADD_DEFINITIONS("-DKWSYS_NAMESPACE=${KWSYS_NAMESPACE}")
- INCLUDE_DIRECTORIES(BEFORE ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE})
- IF(KWSYS_LIBRARY_INSTALL_DIR)
- INSTALL_TARGETS(${KWSYS_LIBRARY_INSTALL_DIR} ${KWSYS_NAMESPACE})
- ENDIF(KWSYS_LIBRARY_INSTALL_DIR)
- IF(KWSYS_INCLUDE_INSTALL_DIR)
- INSTALL_FILES(${KWSYS_INCLUDE_INSTALL_DIR}/${KWSYS_NAMESPACE}
- FILES ${KWSYS_INCLUDES})
- ENDIF(KWSYS_INCLUDE_INSTALL_DIR)
- #-----------------------------------------------------------------------------
- # Create STL header wrappers to block warnings in the STL headers.
- FOREACH(header algorithm deque iterator list map numeric queue set stack string
- utility vector)
- SET(KWSYS_STL_HEADER "${header}")
- CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/kwsys_std.h.in
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/std/${header}
- @ONLY IMMEDIATE)
- IF(KWSYS_INCLUDE_INSTALL_DIR)
- INSTALL_FILES(${KWSYS_INCLUDE_INSTALL_DIR}/${KWSYS_NAMESPACE}
- FILES ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/std/${header})
- ENDIF(KWSYS_INCLUDE_INSTALL_DIR)
- ENDFOREACH(header)
- FOREACH(header iostream fstream sstream iosfwd)
- CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/kwsys_std_${header}.h.in
- ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/std/${header}
- @ONLY IMMEDIATE)
- IF(KWSYS_INCLUDE_INSTALL_DIR)
- INSTALL_FILES(${KWSYS_INCLUDE_INSTALL_DIR}/${KWSYS_NAMESPACE}
- FILES ${PROJECT_BINARY_DIR}/../${KWSYS_NAMESPACE}/std/${header})
- ENDIF(KWSYS_INCLUDE_INSTALL_DIR)
- ENDFOREACH(header)
- IF(KWSYS_DEFAULTS)
- INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR}/..)
- ADD_EXECUTABLE(test1 test1.cxx)
- TARGET_LINK_LIBRARIES(test1 ${KWSYS_NAMESPACE})
- ENDIF(KWSYS_DEFAULTS)
- IF(NOT UNIX)
- SET(BIN_DIR ${CMAKE_CURRENT_BINARY_DIR})
- IF(EXECUTABLE_OUTPUT_PATH)
- SET(BIN_DIR ${EXECUTABLE_OUTPUT_PATH})
- ENDIF(EXECUTABLE_OUTPUT_PATH)
- SET(MAKE_SYSTEM)
- SET(CFG_INTDIR "/${CMAKE_CFG_INTDIR}")
- IF(CMAKE_BUILD_TOOL MATCHES "make")
- SET(CFG_INTDIR "")
- ENDIF(CMAKE_BUILD_TOOL MATCHES "make")
- SET(CMD ${BIN_DIR}${CFG_INTDIR}/${KWSYS_NAMESPACE}EncodeExecutable.exe)
- SET(FWD ${BIN_DIR}${CFG_INTDIR}/${KWSYS_NAMESPACE}ProcessFwd9x.exe)
- # Dependency work-around for cmake 1.6.7 bug.
- SET(DEP ${CMD} ${FWD})
- IF(NOT EXECUTABLE_OUTPUT_PATH)
- IF(CMAKE_GENERATOR MATCHES "Borland Makefiles")
- SET(DEP ${KWSYS_NAMESPACE}EncodeExecutable.exe ${KWSYS_NAMESPACE}ProcessFwd9x.exe)
- ENDIF(CMAKE_GENERATOR MATCHES "Borland Makefiles")
- ENDIF(NOT EXECUTABLE_OUTPUT_PATH)
- ADD_CUSTOM_COMMAND(
- TARGET ${KWSYS_NAMESPACE}
- SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/ProcessFwd9x.c
- COMMAND ${CMD}
- ARGS ${FWD} ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
- ${KWSYS_NAMESPACE} ProcessFwd9x
- OUTPUTS ${CMAKE_CURRENT_BINARY_DIR}/${KWSYS_NAMESPACE}ProcessFwd9xEnc.c
- DEPENDS ${DEP})
- ADD_DEPENDENCIES(${KWSYS_NAMESPACE} ${KWSYS_NAMESPACE}ProcessFwd9x
- ${KWSYS_NAMESPACE}EncodeExecutable)
- ENDIF(NOT UNIX)
|