10 |
10 |
11 set(CPACK_PACKAGE_VERSION_MAJOR "0") |
11 set(CPACK_PACKAGE_VERSION_MAJOR "0") |
12 set(CPACK_PACKAGE_VERSION_MINOR "9") |
12 set(CPACK_PACKAGE_VERSION_MINOR "9") |
13 set(CPACK_PACKAGE_VERSION_PATCH "13-dev") |
13 set(CPACK_PACKAGE_VERSION_PATCH "13-dev") |
14 |
14 |
15 set(universal_build false) |
|
16 |
15 |
17 if(APPLE) |
16 if(APPLE) |
18 set(bundle_name Hedgewars.app) |
17 set(CMAKE_FIND_FRAMEWORK "FIRST") |
19 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
18 set(universal_build true) |
20 set(DATA_INSTALL_DIR "../Resources/") |
|
21 set(target_dir ".") |
|
22 |
19 |
23 if(UNIVERSAL) |
20 #paths for creating the bundle |
24 set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400") |
21 set(bundle_name Hedgewars.app) |
25 set(universal_build true) |
22 set(CMAKE_INSTALL_PREFIX ${bundle_name}/Contents/MacOS/) |
26 message(STATUS "Building a Universal Application") |
23 set(DATA_INSTALL_DIR "../Resources/") |
27 else(UNIVERSAL) |
24 set(target_dir ".") |
28 if(UNIVERSAL64) |
25 |
29 set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400;x86_64") |
26 #build architecture / os version |
30 set(universal_build true) |
27 set(MacVersion $ENV{MACOSX_DEPLOYMENT_TARGET}) |
31 message(STATUS "Building a Universal 64 bits Application") |
28 if(MacVersion MATCHES "10.4") |
32 endif(UNIVERSAL64) |
29 message(STATUS "Target: Mac OS X 10.4 i386/ppc") |
33 endif(UNIVERSAL) |
30 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.4u.sdk/") |
34 |
31 set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400") |
|
32 endif() |
|
33 if(MacVersion MATCHES "10.5") |
|
34 message(STATUS "Target: Mac OS X 10.5 i386/ppc") |
|
35 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.5.sdk/") |
|
36 set(CMAKE_OSX_ARCHITECTURES "i386;ppc7400") |
|
37 endif() |
|
38 if(MacVersion MATCHES "10.6") |
|
39 message(STATUS "Target: Mac OS X 10.6 i386/ppc/x86_64") |
|
40 set(CMAKE_OSX_SYSROOT "/Developer/SDKs/MacOSX10.6.sdk/") |
|
41 set(CMAKE_OSX_ARCHITECTURES "i386;x86_64;ppc7400") |
|
42 endif() |
|
43 #else use the default sysroot with default archs |
35 else(APPLE) |
44 else(APPLE) |
36 set(target_dir "bin") |
45 set(target_dir "bin") |
37 endif(APPLE) |
46 endif(APPLE) |
38 |
47 |
39 |
48 |
40 if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES "Release") |
49 #this snippet sets "Release" mode by default |
41 set(CMAKE_BUILD_TYPE "Release") |
50 if (NOT CMAKE_BUILD_TYPE) |
42 set(OPTIMIZATIONS true) |
51 set (CMAKE_BUILD_TYPE RELEASE CACHE STRING "Choose the type of build, options are: None Debug Release." FORCE) |
43 message(STATUS "Building Release") |
52 endif (NOT CMAKE_BUILD_TYPE) |
|
53 |
|
54 if(CMAKE_BUILD_TYPE MATCHES RELEASE OR CMAKE_BUILD_TYPE MATCHES "Release") |
|
55 message(STATUS "Building Release") |
|
56 set(Optz true) |
44 else() |
57 else() |
45 set(CMAKE_BUILD_TYPE "Debug") |
58 message(STATUS "Building Debug") |
46 set(OPTIMIZATIONS false) |
|
47 set(CMAKE_VERBOSE_MAKEFILE true) |
59 set(CMAKE_VERBOSE_MAKEFILE true) |
48 message(STATUS "Building Debug") |
60 set(Optz false) |
49 endif() |
61 endif() |
|
62 |
|
63 |
|
64 #set default flags values for all the project |
|
65 set(CMAKE_C_FLAGS "-Wall -pipe") |
|
66 set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer") |
|
67 set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG") |
|
68 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
|
69 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
|
70 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
|
71 |
|
72 set(pascal_compiler_flags_cmn "-B" "-FE../bin" "-Fl../bin/" "-Cs2000000" "-vwi") |
|
73 |
|
74 if(Optz) |
|
75 set(pascal_compiler_flags_cmn "-O2" "-Xs" "-Nu" "-Si" ${pascal_compiler_flags_cmn}) |
|
76 set(haskell_compiler_flags_cmn "-w" "-O2") |
|
77 if(APPLE AND NOT universal_build) |
|
78 set(CMAKE_C_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_C_FLAGS_RELEASE}") |
|
79 set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -msse2 ${CMAKE_CXX_FLAGS_RELEASE}") |
|
80 set(pascal_compiler_flags_cmn "-fPIC" "-CfSSE2" ${pascal_compiler_flags_cmn}) #-CF7400 for ppc |
|
81 endif() |
|
82 else(Optz) |
|
83 set(pascal_compiler_flags_cmn "-O-" "-gl" "-dDEBUGFILE" "-pg" "-vv" ${pascal_compiler_flags_cmn}) |
|
84 set(haskell_compiler_flags_cmn "-Wall" "-debug" "-dcore-lint") |
|
85 endif(Optz) |
50 |
86 |
51 |
87 |
52 if(DEFINED DATA_INSTALL_DIR) |
88 if(DEFINED DATA_INSTALL_DIR) |
53 set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/) |
89 set(SHAREPATH ${DATA_INSTALL_DIR}/hedgewars/) |
54 else(DEFINED DATA_INSTALL_DIR) |
90 else(DEFINED DATA_INSTALL_DIR) |
63 set(HAVE_NETSERVER true) |
99 set(HAVE_NETSERVER true) |
64 add_subdirectory(gameServer) |
100 add_subdirectory(gameServer) |
65 else(WITH_SERVER) |
101 else(WITH_SERVER) |
66 set(HAVE_NETSERVER false) |
102 set(HAVE_NETSERVER false) |
67 endif(WITH_SERVER) |
103 endif(WITH_SERVER) |
68 |
|
69 #set default flags values for all the project |
|
70 set(CMAKE_C_FLAGS "-Wall -pipe") |
|
71 set(CMAKE_C_FLAGS_RELEASE "-w -O2 -fomit-frame-pointer") |
|
72 set(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG") |
|
73 if(APPLE AND NOT universal_build) |
|
74 set(CMAKE_C_FLAGS_RELEASE "-msse2 ${CMAKE_C_FLAGS_RELEASE}") |
|
75 endif() |
|
76 set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) |
|
77 set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) |
|
78 set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) |
|
79 |
104 |
80 |
105 |
81 add_subdirectory(bin) |
106 add_subdirectory(bin) |
82 #add_subdirectory(openalbridge) |
107 #add_subdirectory(openalbridge) |
83 add_subdirectory(QTfrontend) |
108 add_subdirectory(QTfrontend) |