0028502: Compilation error on Arch Linux (clang compiler)
[occt.git] / adm / cmake / occt_csf.cmake
1 # CSF variables definition
2
3 if(CSFS_ALREADY_INCLUDED)
4   return()
5 endif()
6 set(CSFS_ALREADY_INCLUDED 1)
7
8
9 if (NOT DEFINED USE_TCL)
10   OCCT_IS_PRODUCT_REQUIRED (CSF_TclLibs USE_TCL)
11 endif()
12
13 if (USE_TCL AND BUILD_SHARED_LIBS)
14   if ("${3RDPARTY_TCL_LIBRARY_VERSION}" STREQUAL "")
15     message (STATUS "Warning: TCL version has not been specified by CSF_TclLibs defining thus it will be used as 8.6")
16     set (3RDPARTY_TCL_LIBRARY_VERSION "8.6")
17   endif()
18
19   if ("${3RDPARTY_TK_LIBRARY_VERSION}" STREQUAL "")
20     message (STATUS "Warning: TK version has not been specified by CSF_TclTkLibs defining thus it will be used as 8.6")
21     set (3RDPARTY_TK_LIBRARY_VERSION "8.6")
22   endif()
23 endif()
24
25 if (USE_TBB)
26   set (CSF_TBB "tbb tbbmalloc")
27 else()
28   set (CSF_TBB)
29 endif()
30
31 if (WIN32)
32   set (CSF_advapi32      "advapi32.lib")
33   set (CSF_gdi32         "gdi32.lib")
34   set (CSF_user32        "user32.lib")
35   set (CSF_wsock32       "wsock32.lib")
36   set (CSF_psapi         "Psapi.lib")
37   if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore" OR USE_GLES2)
38     set (CSF_OpenGlLibs  "libEGL.lib libGLESv2.lib")
39   else()
40     set (CSF_OpenGlLibs  "opengl32.lib")
41   endif()
42
43   if (USE_FREETYPE)
44     set (CSF_FREETYPE "freetype.lib")
45   else()
46     set (CSF_FREETYPE)
47   endif()
48
49   if (USE_GL2PS)
50     set (CSF_GL2PS "gl2ps.lib")
51   else()
52     set (CSF_GL2PS)
53   endif()
54
55   if (USE_FREEIMAGE)
56     set (CSF_FreeImagePlus "freeimage.lib")
57   else()
58     set (CSF_FreeImagePlus)
59   endif()
60
61   if (USE_TCL)
62     set (CSF_TclLibs     "tcl${3RDPARTY_TCL_LIBRARY_VERSION}.lib")
63     set (CSF_TclTkLibs   "tk${3RDPARTY_TK_LIBRARY_VERSION}.lib")
64   endif()
65
66 else()
67
68   if (APPLE)
69     set (CSF_objc        "objc")
70
71     # frameworks
72     find_library (Appkit_LIB NAMES Appkit)
73     set (CSF_Appkit ${Appkit_LIB})
74
75     find_library (IOKit_LIB NAMES IOKit)
76     set (CSF_IOKit ${IOKit_LIB})
77
78     OCCT_CHECK_AND_UNSET (Appkit_LIB)
79     OCCT_CHECK_AND_UNSET (IOKit_LIB)
80
81     if (USE_GLX)
82       set (CSF_OpenGlLibs GL)
83       set (CSF_XwLibs     "X11 Xext Xmu Xi")
84     else()
85       find_library (OpenGlLibs_LIB NAMES OpenGL)
86       set (CSF_OpenGlLibs ${OpenGlLibs_LIB})
87
88       OCCT_CHECK_AND_UNSET (OpenGlLibs_LIB)
89     endif()
90     
91     if (USE_TCL)
92       set (CSF_TclTkLibs Tk)
93       set (CSF_TclLibs   Tcl)
94     endif()
95   elseif (ANDROID)
96     set (CSF_ThreadLibs  "c")
97     set (CSF_OpenGlLibs  "EGL GLESv2")
98   elseif (UNIX)
99     set (CSF_ThreadLibs  "pthread rt stdc++")
100     set (CSF_OpenGlLibs  "GL")
101     set (CSF_XwLibs      "X11 Xext Xmu Xi")
102     set (CSF_dl          "dl")
103
104     if (USE_TCL)
105       set (CSF_TclLibs     "tcl${3RDPARTY_TCL_LIBRARY_VERSION}")
106       set (CSF_TclTkLibs   "tk${3RDPARTY_TK_LIBRARY_VERSION}")
107     endif()
108   endif()
109
110   if (USE_FREETYPE)
111     set (CSF_FREETYPE "freetype")
112   else()
113     set (CSF_FREETYPE)
114   endif()
115
116   if (USE_FREEIMAGE)
117     set (CSF_FreeImagePlus "freeimage")
118   else()
119     set (CSF_FreeImagePlus)
120   endif()
121
122   if (NOT DEFINED ANDROID)
123     if (USE_GL2PS)
124       set (CSF_GL2PS "gl2ps")
125     else()
126       set (CSF_GL2PS)
127     endif()
128   endif()
129 endif()