You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdesvn/cmakemodules/tdesvnMacros.cmake

51 lines
2.1 KiB

MACRO(KDESVN_CHECK_LINK_FLAG FLAGS VARIABLE)
IF(NOT DEFINED ${VARIABLE})
TRY_COMPILE(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/DummyCXXFile.cxx
CMAKE_FLAGS -DCMAKE_EXE_LINKER_FLAGS="${FLAGS}"
OUTPUT_VARIABLE OUTPUT)
IF (${VARIABLE})
MESSAGE(STATUS "Checking to see if linker accepts flag ${FLAGS} - yes")
FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the linker accepts the flag ${FLAGS} passed with "
"the following output:\n${OUTPUT}\n\n")
ELSE (${VARIABLE})
MESSAGE(STATUS "Checking to see if linker accepts flag ${FLAGS} - no")
FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log
"Determining if the linker accepts the flag ${FLAGS} failed with "
"the following output:\n${OUTPUT}\n\n")
ENDIF (${VARIABLE})
ENDIF(NOT DEFINED ${VARIABLE})
ENDMACRO(KDESVN_CHECK_LINK_FLAG)
# this macro is required to add libtools to normal build so
# we may debug our part from within build dir
# output name where
# _laname _soname ${LIBRARY_OUTPUT_PATH}/trinity
MACRO(KDESVN_GENERATE_LIBTOOL_FILE _target)
GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE)
GET_FILENAME_COMPONENT(_soname ${_target_location} NAME)
IF(LIBRARY_OUTPUT_PATH)
SET(_laname ${LIBRARY_OUTPUT_PATH}/${_laname}.la)
ELSE(LIBRARY_OUTPUT_PATH)
SET(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la)
ENDIF(LIBRARY_OUTPUT_PATH)
IF(LIBRARY_OUTPUT_PATH)
SET(_libdir "'${LIBRARY_OUTPUT_PATH}/trinity'")
ELSE(LIBRARY_OUTPUT_PATH)
SET(_libdir "'${CMAKE_CURRENT_BUILD_DIR}/trinity'")
ENDIF(LIBRARY_OUTPUT_PATH)
ADD_CUSTOM_COMMAND(TARGET ${_target}
POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS
-DOUTPUTFILE:FILEPATH=${_laname}
-DSONAME:STRING=${_soname}
-DLIBDIR:STRING=${_libdir}
-P ${CMAKE_SOURCE_DIR}/cmakemodules/generatelibtoolfile.cmake
)
ENDMACRO(KDESVN_GENERATE_LIBTOOL_FILE)