]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKMacros.cmake
3c2cf0e3b36d6b1327f20b53003f326930c7720c
[bbtk.git] / kernel / cmake / BBTKMacros.cmake
1
2 #-----------------------------------------------------------------------------
3 # MACRO TO ADD A COMPILER DEFINITION WHICH ADDS ALSO THE DEF 
4 # INTO DOXYGEN PREDEFINED VAR 
5 # (OTHERWISE DOXYGEN WOULD NOT PARSE THE FILES BLOCKED)
6 MACRO(ADD_DEF DEF)
7   MESSAGE(STATUS "* Added definition -D${DEF}")
8   ADD_DEFINITIONS( -D${DEF} )
9   SET(DOXYGEN_DOC_PREDEFINED 
10     ${DOXYGEN_DOC_PREDEFINED};${DEF}
11     CACHE 
12     STRING 
13     ""
14     FORCE)
15   MARK_AS_ADVANCED(DOXYGEN_DOC_PREDEFINED)
16 ENDMACRO(ADD_DEF)
17 #-----------------------------------------------------------------------------
18
19 #-----------------------------------------------------------------------------
20 # MACRO TO ADD A COMPILER DEFINITION WITH VALUE WHICH ADDS ALSO THE DEF 
21 # INTO DOXYGEN PREDEFINED VAR 
22 # (OTHERWISE DOXYGEN WOULD NOT PARSE THE FILES BLOCKED)
23 MACRO(ADD_DEF_WITH_VAL DEF VAL)
24   MESSAGE(STATUS "* Added definition -D${DEF}=${VAL}")
25   ADD_DEFINITIONS( -D${DEF}=${VAL} )
26   SET(DOXYGEN_DOC_PREDEFINED 
27     ${DOXYGEN_DOC_PREDEFINED};${DEF}=${VAL}
28     CACHE 
29     STRING 
30     ""
31     FORCE)
32   MARK_AS_ADVANCED(DOXYGEN_DOC_PREDEFINED)
33 ENDMACRO(ADD_DEF_WITH_VAL)
34 #-----------------------------------------------------------------------------
35
36
37 #========================================================================
38 # MACRO WHICH COPIES ALL IMAGES (png, jpg, gif) 
39 # FROM SOURCE TREE TO DOC BUILD TREE
40 # AND INSTALL THEM IN BBTK DOC TREE
41 MACRO(BBTK_DOC_INSTALL_IMAGES DOC_RELATIVE_INSTALL_PATH)
42   FILE(GLOB PNG_IMAGES "*.png")
43   FILE(GLOB JPG_IMAGES "*.jpg")
44   FILE(GLOB TIF_IMAGES "*.tif")
45   SET(IMAGES
46     ${PNG_IMAGES}
47     ${JPG_IMAGES}
48     ${TIF_IMAGES}
49     )
50 #    MESSAGE(ERROR ${IMAGES} )
51   FOREACH(image ${IMAGES})  
52     GET_FILENAME_COMPONENT(filename "${image}" NAME)
53     CONFIGURE_FILE(
54       ${image}
55        ${BBTK_DOC_BUILD_PATH}/${DOC_RELATIVE_INSTALL_PATH}/${filename}
56       COPYONLY
57       ) 
58       
59     #  IF (WIN32)
60 #       CONFIGURE_FILE(
61 #          ${image}
62 #          ${CMAKE_CURRENT_BINARY_DIR}/${filename}
63 #          COPYONLY
64 #         )
65 #      ENDIF(WIN32)
66     # MESSAGE(ERROR "${image} (${filename}) in :  ${PROJECT_BINARY_DIR}/${BBTK_DOC_INSTALL_PATH}/${DOC_RELATIVE_INSTALL_PATH}/${filename}")
67   ENDFOREACH(image)
68   INSTALL( 
69       FILES ${IMAGES} 
70       DESTINATION ${BBTK_DOC_INSTALL_PATH}/${DOC_RELATIVE_INSTALL_PATH}
71     )  
72 ENDMACRO(BBTK_DOC_INSTALL_IMAGES)
73 #========================================================================
74
75 #========================================================================
76 # Creates a directory if it does not exist
77 MACRO(MKDIR DIR)
78   IF(NOT IS_DIRECTORY ${DIR})
79     MESSAGE(STATUS "* Creating directory '${DIR}'")
80     FILE(MAKE_DIRECTORY ${DIR})
81   ENDIF(NOT IS_DIRECTORY ${DIR})
82 ENDMACRO(MKDIR)
83 #========================================================================
84
85
86 #========================================================================
87 MACRO(MAKE_DLL_PATH)
88   IF(WIN32)
89     IF(USE_DOT)
90       IF (NOT DOT_DIR)
91         FIND_PATH(DOT_DIR dot.exe PATHS $ENV{PATH} )
92         IF(NOT DOT_DIR)
93           MESSAGE(FATAL_ERROR "Dot not found : set DOT_DIR to the folder containing dot.exe")
94         ELSE(NOT DOT_DIR)
95           MESSAGE(STATUS "Looking for dot... - found in ${DOT_DIR}")
96          ENDIF(NOT DOT_DIR)
97       ENDIF(NOT DOT_DIR)
98     ENDIF(USE_DOT)      
99 #    SET(DLL_PATHA Path=${ADDITIONAL_DLL_PATH}__RR__%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__%PATH%__RR__${DOT_DIR})
100     SET(DLL_PATHA ${ADDITIONAL_DLL_PATH}__RR__${DOT_DIR}__RR__)
101     FOREACH(APATH $ENV{PATH})
102           SET(DLL_PATHA ${DLL_PATHA}__RR__${APATH})
103     ENDFOREACH(APATH)
104     STRING(REPLACE "__RR__" "\;" DLL_PATH ${DLL_PATHA} )
105   ENDIF(WIN32)  
106 ENDMACRO(MAKE_DLL_PATH)
107 #========================================================================