root/library/system/SetBdmEnv.cmake @ 413

Revision 413, 3.3 kB (checked in by miro, 15 years ago)

several fixes of config2mxstruct.h
it still doesn't work properly but the bug is found and marked

Line 
1# This Module Sets CMake variables for BDM
2# Variable BDM_SOURCE_DIR must be set
3#
4# Other respected variables are
5# ITPP_DIR, ACML_DIR, MATLAB_ROOT
6#
7
8IF(NOT BDM_SOURCE_DIR)
9      MESSAGE(FATAL_ERROR "BDM_SOURCE_DIR is not set!")
10ENDIF(NOT BDM_SOURCE_DIR)
11
12######################
13#Platform specific
14IF(WIN32)
15# IF YOU WANT TO USE YOUR OWN INSTALLATION OF THE NEXT EXTERNAL LIBRARIES,
16# THEN IT IS NECESSARY TO CREATE TEXT FILE "\system\WIN32\LOCAL_PATHS.TXT" WITH
17# COPIES OF THE TWO FOLLOWING LINES AND THEN CORECT ALL THE INVOLVED PATHS
18        IF(NOT ITPP_DIR)
19                SET(ITPP_DIR "${BDM_SOURCE_DIR}\\system\\win32\\itpp-4.0.6")
20        ENDIF(NOT ITPP_DIR)
21        IF(NOT ACML_DIR)
22                SET(ACML_DIR "${BDM_SOURCE_DIR}\\system\\win32\\acml3.6.0")
23        ENDIF(NOT ACML_DIR)
24       
25        INCLUDE(\\system\\win32\\local_paths.txt OPTIONAL)     
26        ADD_DEFINITIONS(-DHAVE_ACML)
27ENDIF(WIN32)
28IF(APPLE)
29        IF(NOT ITPP_DIR)
30                SET(ITPP_DIR "${BDM_SOURCE_DIR}/macosx/itpp-4.0.6")
31        ENDIF(NOT ITPP_DIR)
32        FIND_LIBRARY(FRAMEWORK_VECLIB vecLib)
33        ADD_DEFINITIONS(-DHAVE_XLOCALE_H)
34ENDIF(APPLE)
35IF(UNIX)
36        # Generally this directory should not exist!
37        # Use this location is you compile itpp from sources
38        IF(NOT ITPP_DIR)
39                SET(ITPP_DIR "${BDM_SOURCE_DIR}/system/linux/")
40        ENDIF(NOT ITPP_DIR)
41        #This is for UNIX makefile which does only one release at a time.
42ENDIF(UNIX)
43
44# Local ettings should be written to file called CMakeLists.local
45# Use this option for machine-specific options, such as prallel architectures
46INCLUDE(CMakeLists.local OPTIONAL)     
47
48FIND_PACKAGE(ITPP REQUIRED)
49FIND_PACKAGE(ACML COMPONENTS)
50FIND_PACKAGE(Matlab COMPONENTS)
51FIND_PROGRAM(MEX_COMPILER mex)
52
53IF(ITPP_FOUND)
54        INCLUDE_DIRECTORIES(${ITPP_INCLUDE_DIR})
55        LINK_DIRECTORIES(${NATIVE_ITPP_LIB_PATH})
56ENDIF(ITPP_FOUND)
57
58IF(ACML_FOUND)
59        INCLUDE_DIRECTORIES(${ACML_INCLUDE_DIR})
60        LINK_DIRECTORIES(${NATIVE_ACML_LIB_PATH})
61ENDIF(ACML_FOUND)
62
63IF(UNIX)
64        SET(CMAKE_BUILD_TYPE Debug)
65        IF(MATLAB_FOUND)
66                SET(CMAKE_CXX_FLAGS "-Wall -pipe  -Wno-unknown-pragmas -fPIC")
67                SET(CMAKE_C_FLAGS "-Wall -pipe  -Wno-unknown-pragmas -fPIC")
68        ELSE(MATLAB_FOUND)
69                SET(CMAKE_CXX_FLAGS "-Wall -Wno-unknown-pragmas ")
70                SET(CMAKE_C_FLAGS "-Wall -Wno-unknown-pragmas ")
71        ENDIF(MATLAB_FOUND)
72       
73        SET(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG -O2")
74        SET(CMAKE_CXX_FLAGS_DEBUG "-g -O0")
75ENDIF(UNIX)
76
77##
78## PREPARE MACROS for building executables
79##
80
81MACRO(EXEC FN)
82        add_executable (${FN} ${FN}.cpp)
83        IF(WIN32)
84                target_link_libraries (${FN} debug itpp_debug)
85                target_link_libraries (${FN} optimized itpp)
86                target_link_libraries (${FN} libacml_dll)
87        ELSE(WIN32)
88                IF(APPLE)
89                        target_link_libraries (${FN} ${FRAMEWORK_VECLIB})
90                ENDIF(APPLE)
91                target_link_libraries (${FN} itpp)     
92#               target_link_libraries (${FN} debug itpp_debug)
93#               target_link_libraries (${FN} optimized itpp)
94        ENDIF(WIN32)
95        target_link_libraries (${FN} bdm)
96        target_link_libraries (${FN} ${ARGN}) ## Additional libraries can be added to a macro
97ENDMACRO(EXEC)
98       
99MACRO(MEX FN)
100        IF(MEX_COMPILER)
101        INCLUDE_DIRECTORIES(${MATLAB_INCLUDE_DIR} "${BDM_SOURCE_DIR}/bdm")
102        LINK_DIRECTORIES("${BDM_SOURCE_DIR}/bdm")
103        ADD_LIBRARY("${FN}.${MATLAB_MEX_SUFFIX}" MODULE ${FN}.cpp)
104        set_target_properties("${FN}.${MATLAB_MEX_SUFFIX}" PROPERTIES
105                PREFIX ""
106                SUFFIX ""
107                COMPILE_FLAGS "-DMEX"
108        )
109        TARGET_LINK_LIBRARIES("${FN}.${MATLAB_MEX_SUFFIX}" ${MATLAB_LIBRARIES} bdm itpp)
110        ENDIF(MEX_COMPILER)
111ENDMACRO(MEX)
Note: See TracBrowser for help on using the browser.