X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fcmake%2FBBTKConfigurePackage_src.cmake;h=003f78f11f817c368cf760bea149b3af5e109ce8;hb=70db75992e0ccf5ad1fab5ccf9cec013877ea3d5;hp=b6a16eba6e672b00559d2a2225c79fb4dfe4418b;hpb=c62c89ec6fa2c0a82d6e66d30ca4c11f4bb09366;p=bbtk.git diff --git a/kernel/cmake/BBTKConfigurePackage_src.cmake b/kernel/cmake/BBTKConfigurePackage_src.cmake index b6a16eb..003f78f 100644 --- a/kernel/cmake/BBTKConfigurePackage_src.cmake +++ b/kernel/cmake/BBTKConfigurePackage_src.cmake @@ -9,12 +9,12 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR} ) #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- -# USER DEFINED ADDITIONAL INCLUDE DIRS -# NB : PATHS PROVIDED BY THE USER ARE RELATIVE TO THE PARENT DIR -INCLUDE_DIRECTORIES(../${${BBTK_PACKAGE_NAME}_INCLUDE_DIRS}) -#---------------------------------------------------------------------------- - - +# CREATES bb${BBTK_PACKAGE_NAME}_EXPORT.h +CREA_DYNAMIC_LIBRARY_EXPORT(bb${BBTK_PACKAGE_NAME}) +INSTALL( + FILES ${CMAKE_CURRENT_BINARY_DIR}/bb${BBTK_PACKAGE_NAME}_EXPORT.h + DESTINATION include/bb${BBTK_PACKAGE_NAME} + ) #---------------------------------------------------------------------------- #---------------------------------------------------------------------------- @@ -49,15 +49,16 @@ SET_SOURCE_FILES_PROPERTIES( #---------------------------------------------------------------------------- IF(${BBTK_PACKAGE_NAME}_COMPILE_ALL_CXX) FILE(GLOB ${BBTK_PACKAGE_NAME}_CXX_SOURCES "." "*.cxx") + FILE(GLOB ${BBTK_PACKAGE_NAME}_CPP_SOURCES "." "*.cpp") + SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} ${${BBTK_PACKAGE_NAME}_CPP_SOURCES}) FILE(GLOB ${BBTK_PACKAGE_NAME}_H_SOURCES "." "*.h") ENDIF(${BBTK_PACKAGE_NAME}_COMPILE_ALL_CXX) - - -SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES - ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} - #${CMAKE_CURRENT_BINARY_DIR_NAME}/ - bb${BBTK_PACKAGE_NAME}Package - ) +IF(NOT PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) + SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES + ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} + bb${BBTK_PACKAGE_NAME}Package + ) +ENDIF(NOT PROJECT_BINARY_DIR STREQUAL ${PROJECT_SOURCE_DIR}) #---------------------------------------------------------------------------- @@ -78,33 +79,42 @@ FOREACH(xmlfile ${${BBTK_PACKAGE_NAME}_XML_SOURCES}) SET(BBFY_CXX_OUT ${CMAKE_CURRENT_BINARY_DIR}/${filename}.cxx) IF (WIN32) - set(command00 Path=%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__%PATH% ) - STRING(REPLACE "__RR__" "\;" command0 ${command00} ) - ELSEIF(WIN32) - set(command0 " " ) - ENDIF(WIN32) - - ADD_CUSTOM_COMMAND( + MAKE_DLL_PATH() + # SET(command00 Path=c:/creatis/dlls__RR__%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__%PATH%) + # STRING(REPLACE "__RR__" "\;" SETPATH ${command00} ) + # SET(SETPATH set ${command0} &&) + ADD_CUSTOM_COMMAND( OUTPUT ${BBFY_CXX_OUT} - COMMAND - set ${command0} && - ${BBTK_BBFY} ${xmlfile} ${BBTK_PACKAGE_NAME} ${CMAKE_CURRENT_BINARY_DIR}/ -q + COMMAND + set Path=${DLL_PATH} && ${BBTK_BBFY} ${xmlfile} ${BBTK_PACKAGE_NAME} ${CMAKE_CURRENT_BINARY_DIR}/ -q DEPENDS ${xmlfile} ${BBTK_BBFY_DEPENDENCY} ) + ELSE(WIN32) + SET(LD_LIBRARY_PATH "$ENV{LD_LIBRARY_PATH}:${LIBRARY_OUTPUT_PATH}") + ADD_CUSTOM_COMMAND( + OUTPUT ${BBFY_CXX_OUT} + COMMAND + export LD_LIBRARY_PATH=${LD_LIBRARY_PATH} && ${BBTK_BBFY} ${xmlfile} ${BBTK_PACKAGE_NAME} ${CMAKE_CURRENT_BINARY_DIR}/ -q + DEPENDS ${xmlfile} + ${BBTK_BBFY_DEPENDENCY} + ) + + ENDIF(WIN32) + SET_SOURCE_FILES_PROPERTIES( ${BBFY_CXX_OUT} PROPERTIES GENERATED ON) - # IF(NOT ${BBTK_PACKAGE_NAME}_CXX_SOURCES MATCHES "${filename}") - message ("EED Alert BBTKConfigurePackage_src " "IF NOT MATCHES" ) + IF(NOT ${BBTK_PACKAGE_NAME}_CXX_SOURCES MATCHES "${filename}.cxx") + # message ("EED Alert BBTKConfigurePackage_src " "IF NOT MATCHES" ) SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} - ${filename} + ${filename}.cxx ) -# ENDIF(NOT ${BBTK_PACKAGE_NAME}_CXX_SOURCES MATCHES "${filename}") + ENDIF(NOT ${BBTK_PACKAGE_NAME}_CXX_SOURCES MATCHES "${filename}.cxx") INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${filename}.h @@ -116,6 +126,22 @@ ENDFOREACH(xmlfile) #---------------------------------------------------------------------------- # CREATES LIBRARY +#---------------------------------------------------------------------------- +# TCL WRAPPING FOR KWWIDGETS +IF(BBTK_USE_KWWIDGETS) +#MESSAGE(STATUS "****TCL=${${BBTK_PACKAGE_NAME}_CXX_SOURCES_WRAP_TCL}") +IF(${BBTK_PACKAGE_NAME}_CXX_SOURCES_WRAP_TCL ) +#MESSAGE(STATUS "****TCL OK") +include("${KWWidgets_CMAKE_DIR}/KWWidgetsWrappingMacros.cmake") +kwwidgets_wrap_tcl(bb${BBTK_PACKAGE_NAME} LIB_TCL_SRCS ${${BBTK_PACKAGE_NAME}_CXX_SOURCES_WRAP_TCL} "") +SET(${BBTK_PACKAGE_NAME}_CXX_SOURCES + ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} + ${LIB_TCL_SRCS}) +ENDIF(${BBTK_PACKAGE_NAME}_CXX_SOURCES_WRAP_TCL) +ENDIF(BBTK_USE_KWWIDGETS) +#---------------------------------------------------------------------------- +#MESSAGE(STATUS ${${BBTK_PACKAGE_NAME}_CXX_SOURCES}) + ADD_LIBRARY(bb${BBTK_PACKAGE_NAME} SHARED ${${BBTK_PACKAGE_NAME}_CXX_SOURCES} ${${BBTK_PACKAGE_NAME}_H_SOURCES} ) @@ -123,6 +149,9 @@ TARGET_LINK_LIBRARIES(bb${BBTK_PACKAGE_NAME} bbtk ${${BBTK_PACKAGE_NAME}_LIBS} ) +IF(UNIX) +SET_TARGET_PROPERTIES(bb${BBTK_PACKAGE_NAME} PROPERTIES COMPILE_FLAGS -Wall) +ENDIF(UNIX) #---------------------------------------------------------------------------- @@ -135,7 +164,7 @@ INSTALL( ) INSTALL( TARGETS bb${BBTK_PACKAGE_NAME} - DESTINATION lib) + DESTINATION ${BBTK_PACKAGE_LIB_PATH}) # CreateFindPackage SET( LIBRARY_NAME bb${BBTK_PACKAGE_NAME} ) @@ -162,7 +191,7 @@ ELSE(UNIX) ENDIF(UNIX) SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/bb${BBTK_PACKAGE_NAME}) -SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib) +SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${BBTK_PACKAGE_LIB_PATH}) # REQUIRED BUILD FLAGS #SET(${LIBRARY_NAME}_REQUIRED_C_FLAGS "")