]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKKernelConfig.cmake
d461929f74693997c7db3f48b51f888f4c150f29
[bbtk.git] / kernel / cmake / BBTKKernelConfig.cmake
1
2 #----------------------------------------------------------------------------
3 # BINARY DIR MUST BE IN INCLUDE DIRS 
4 # TO FIND .h OF AUTOMATICALLY GENERATED FILES (e.g. FROM XML)
5 INCLUDE_DIRECTORIES( ${PROJECT_BINARY_DIR}/kernel/src ) 
6 # SOURCES DIR MUST ALSO BE IN INCLUDE DIRS FOR FILES COMPILED IN BINARY DIR 
7 # WHICH NEED TO INCLUDE OTHER FILES OF THE PACKAGE
8 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/kernel/src )
9 INCLUDE_DIRECTORIES( ${PROJECT_SOURCE_DIR}/kernel/src/ThirdParty )
10 #----------------------------------------------------------------------------
11
12 #----------------------------------------------------------------------------
13 # THE PACKAGES ARE CORE ONES
14 SET(BBTK_CORE_PACKAGE TRUE)
15 #----------------------------------------------------------------------------
16
17 #-----------------------------------------------------------------------------
18 # Path for binaries 
19 IF(WIN32) # OR APPLE)
20   SET (EXECUTABLE_OUTPUT_REL_PATH "") 
21   SET (LIBRARY_OUTPUT_REL_PATH    "")
22   IF(WIN32)
23         SET (ADDITIONAL_DLL_PATH "C:/Program Files/CreaTools/crea_ThirdParty_dlls-3.0.0/bin" CACHE PATH "Additional paths in which to look for dlls")
24   ENDIF(WIN32)
25 ELSE(WIN32) # OR APPLE)
26   SET (EXECUTABLE_OUTPUT_REL_PATH bin) 
27   SET (LIBRARY_OUTPUT_REL_PATH    bin)
28 ENDIF(WIN32) # OR APPLE)  
29
30 SET (EXECUTABLE_OUTPUT_PATH 
31   ${PROJECT_BINARY_DIR}/${EXECUTABLE_OUTPUT_REL_PATH})
32 SET (LIBRARY_OUTPUT_PATH    
33   ${PROJECT_BINARY_DIR}/${LIBRARY_OUTPUT_REL_PATH})
34 #-----------------------------------------------------------------------------
35
36
37
38 #-----------------------------------------------------------------------------
39 # The var BBTK_BIN_PATH
40 # gives the system-dependent path to output binaries
41 # BBTK_BBI, BBTK_BBFY and BBTK_BBDOC 
42 # point to the system-dependent applications 
43 # (.exe on win / no extension on lin) 
44 # WARNING : 
45 # On WIN32, these paths will only be right at *BUILD TIME* in VS6 or .net
46 # Cannot be used at cmake run time !
47 IF(WIN32)
48   IF(MSVC10)  #FCY 18-06-10
49           SET(BBTK_BIN_PATH $(OutDir))
50   ELSE(MSVC10)
51           IF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
52             SET(BBTK_BIN_PATH ${EXECUTABLE_OUTPUT_PATH}/$(IntDir))
53           ELSE(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
54             SET(BBTK_BIN_PATH $(SolutionDir)/$(OutDir))
55           ENDIF(CMAKE_GENERATOR STREQUAL "Visual Studio 6")
56   ENDIF(MSVC10)
57   SET(BBTK_LIB_PATH bin)
58   SET(BBTK_BBS2CPP ${BBTK_BIN_PATH}/bbs2cpp.exe)
59   SET(BBTK_BBC ${BBTK_BIN_PATH}/bbc.exe)
60   SET(BBTK_BBI ${BBTK_BIN_PATH}/bbi.exe)
61   SET(BBTK_BBFY ${BBTK_BIN_PATH}/bbfy.exe)
62
63 ELSE(WIN32)
64         if( NOT APPLE )
65                 # check 64 bit
66                 if( ${CMAKE_SIZEOF_VOID_P} EQUAL 4 )
67                         set( HAVE_64_BIT 0 )
68                         SET(BBTK_LIB_PATH  lib)
69                 else( ${CMAKE_SIZEOF_VOID_P}EQUAL 4 )
70                         set( HAVE_64_BIT 1 )
71                         SET(BBTK_LIB_PATH  lib64)
72                 endif( ${CMAKE_SIZEOF_VOID_P} EQUAL 4 )
73          endif( NOT APPLE )
74 # For Xcode : have to test the cmake generator !
75   IF ( CMAKE_GENERATOR STREQUAL Xcode)
76     SET(BBTK_BIN_PATH ${EXECUTABLE_OUTPUT_PATH}/Debug)
77   ELSE(CMAKE_GENERATOR STREQUAL Xcode)
78     SET(BBTK_BIN_PATH ${EXECUTABLE_OUTPUT_PATH})
79   ENDIF(CMAKE_GENERATOR STREQUAL Xcode) 
80   SET(BBTK_BBI ${BBTK_BIN_PATH}/bbi)
81   SET(BBTK_BBS2CPP ${BBTK_BIN_PATH}/bbs2cpp)
82   SET(BBTK_BBC ${BBTK_BIN_PATH}/bbc)
83   SET(BBTK_BBFY ${BBTK_BIN_PATH}/bbfy)
84 ENDIF(WIN32)  
85 SET(BBTK_PACKAGE_LIB_PATH ${BBTK_LIB_PATH})
86
87 MESSAGE(STATUS "")
88 MESSAGE(STATUS "===============================================")
89 MESSAGE(STATUS "Setting up base pathes:")
90 MESSAGE(STATUS "* BBTK_BIN_PATH         =${BBTK_BIN_PATH}")
91 MESSAGE(STATUS "* BBTK_LIB_PATH         =${BBTK_LIB_PATH}")
92 MESSAGE(STATUS "* BBTK_PACKAGE_LIB_PATH =${BBTK_PACKAGE_LIB_PATH}")
93 MESSAGE(STATUS "* BBTK_BBI              =${BBTK_BBI}")
94 MESSAGE(STATUS "* BBTK_BBS2CPP          =${BBTK_BBS2CPP}")
95 MESSAGE(STATUS "* BBTK_BBC              =${BBTK_BBC}")
96 MESSAGE(STATUS "* BBTK_BBFY             =${BBTK_BBFY}")
97 #-----------------------------------------------------------------------------
98
99 #-----------------------------------------------------------------------------
100 # The vars BBTK_DOC_REL_PATH and BBTK_BBS_REL_PATH
101 # store documentation and scripts **RELATIVE** paths  
102 # from build tree root or install tree root
103 # (different on win/lin)
104 IF(WIN32)
105   # A trick to install in root install dir (problem when empty path given)
106   SET(BBTK_SHARE_REL_PATH "bin/..")
107   SET(BBTK_DOC_REL_PATH doc)
108   SET(BBTK_BBS_REL_PATH bbs)
109   SET(BBTK_DATA_REL_PATH data)
110 ELSE(WIN32)
111   SET(BBTK_SHARE_REL_PATH share/bbtk)
112   SET(BBTK_DOC_REL_PATH share/bbtk/doc)
113   SET(BBTK_BBS_REL_PATH share/bbtk/bbs)
114   SET(BBTK_DATA_REL_PATH share/bbtk/data)
115 ENDIF(WIN32)   
116
117 MESSAGE(STATUS "* BBTK_SHARE_REL_PATH   =${BBTK_SHARE_REL_PATH}")
118 MESSAGE(STATUS "* BBTK_DOC_REL_PATH     =${BBTK_DOC_REL_PATH}")
119 MESSAGE(STATUS "* BBTK_BBS_REL_PATH     =${BBTK_BBS_REL_PATH}")
120 MESSAGE(STATUS "* BBTK_DATA_REL_PATH    =${BBTK_DATA_REL_PATH}")
121 MESSAGE(STATUS "===============================================")
122
123 #-----------------------------------------------------------------------------