Sun, 07 Jun 2015 15:52:33 +0300
Got it to compile under Windows
36 | 1 | project (zcinema) |
2 | cmake_minimum_required (VERSION 2.6) | |
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
3 | cmake_policy (SET CMP0020 NEW) |
36 | 4 | |
5 | if (USE_QT5) | |
6 | find_package (Qt5Widgets REQUIRED) | |
7 | find_package (Qt5Core REQUIRED) | |
8 | else() | |
9 | find_package (Qt4 REQUIRED) | |
10 | endif() | |
11 | ||
12 | include_directories (${QT_INCLUDES} ${CMAKE_CURRENT_BINARY_DIR}) | |
13 | ||
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
14 | set (ZCINEMA_LAUNCHER_SOURCES |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
15 | launcher/demo.cpp |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
16 | launcher/main.cpp |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
17 | launcher/prompts.cpp |
36 | 18 | ) |
19 | ||
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
20 | set (ZCINEMA_COMMON_SOURCES |
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
21 | commonlib/config.cpp |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
22 | commonlib/misc.cpp |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
23 | commonlib/version.cpp |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
24 | ) |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
25 | |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
26 | set (ZCINEMA_CONFIG_SOURCES |
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
27 | config/configwindow.cpp |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
28 | config/addversionprompt.cpp |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
29 | config/main.cpp |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
30 | ) |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
31 | |
36 | 32 | set (ZCINEMA_HEADERS |
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
33 | commonlib/config.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
34 | commonlib/misc.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
35 | commonlib/types.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
36 | commonlib/version.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
37 | config/addversionprompt.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
38 | config/configwindow.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
39 | launcher/demo.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
40 | launcher/prompts.h |
36 | 41 | ) |
42 | ||
43 | set (ZCINEMA_FORMS | |
44 | ui/findfile.ui | |
45 | ui/demoprompt.ui | |
46 | ui/unknownversion.ui | |
47 | ui/configbox.ui | |
48 | ui/addversion.ui | |
49 | ) | |
50 | ||
51 | set (ZCINEMA_RESOURCES zcinema.qrc) | |
52 | ||
53 | if (NOT MSVC) | |
48 | 54 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W -Wall") |
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
55 | else() |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
56 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Za") |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
57 | endif() |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
58 | |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
59 | if (MINGW) |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
60 | set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -lpthread -static") |
36 | 61 | endif() |
62 | ||
63 | include_directories ("${PROJECT_BINARY_DIR}") | |
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
64 | include_directories ("${PROJECT_SOURCE_DIR}") |
36 | 65 | |
66 | if (USE_QT5) | |
67 | qt5_generate_moc (ZCINEMA_MOC ${ZCINEMA_HEADERS}) | |
68 | qt5_add_resources (ZCINEMA_QRC ${ZCINEMA_RESOURCES}) | |
69 | qt5_wrap_ui (ZCINEMA_FORMS_HEADERS ${ZCINEMA_FORMS}) | |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
70 | |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
71 | add_library (${PROJECT_NAME}-common STATIC |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
72 | ${ZCINEMA_COMMON_SOURCES} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
73 | ${ZCINEMA_QRC} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
74 | ${ZCINEMA_FORMS_HEADERS}) |
36 | 75 | else() |
76 | qt4_wrap_cpp (ZCINEMA_MOC ${ZCINEMA_HEADERS}) | |
77 | qt4_wrap_ui (ZCINEMA_FORMS_HEADERS ${ZCINEMA_FORMS}) | |
78 | qt4_add_resources (ZCINEMA_RCC ${ZCINEMA_RESOURCES}) | |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
79 | |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
80 | add_library (${PROJECT_NAME}-common STATIC |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
81 | ${ZCINEMA_COMMON_SOURCES} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
82 | ${ZCINEMA_RCC} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
83 | ${ZCINEMA_FORMS_HEADERS}) |
36 | 84 | endif() |
85 | ||
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
86 | add_executable (${PROJECT_NAME} WIN32 ${ZCINEMA_LAUNCHER_SOURCES} zcinema.rc) |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
87 | add_executable (${PROJECT_NAME}-config WIN32 ${ZCINEMA_CONFIG_SOURCES} zcinema.rc) |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
88 | |
36 | 89 | if (USE_QT5) |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
90 | target_link_libraries (${PROJECT_NAME}-common Qt5::Widgets) |
36 | 91 | else() |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
92 | target_link_libraries (${PROJECT_NAME}-common ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) |
36 | 93 | endif() |
94 | ||
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
95 | target_link_libraries (${PROJECT_NAME} ${PROJECT_NAME}-common) |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
96 | target_link_libraries (${PROJECT_NAME}-config ${PROJECT_NAME}-common) |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
97 | |
40
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
98 | add_custom_target (make_hginfo |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
99 | COMMAND python |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
100 | "${CMAKE_SOURCE_DIR}/updaterevision.py" |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
101 | "${CMAKE_CURRENT_BINARY_DIR}/hginfo.h" |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
102 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
103 | |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
104 | add_dependencies (${PROJECT_NAME}-common make_hginfo) |
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
105 | set_target_properties (${PROJECT_NAME} PROPERTIES AUTOMOC 1) |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
106 | set_target_properties (${PROJECT_NAME}-config PROPERTIES AUTOMOC 1) |
40
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
107 | |
36 | 108 | # With clang, we need to set -Wno-deprecated since Qt headers seem to use the register keyword |
109 | # which clang doesn't seem to like. | |
110 | if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | |
111 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") | |
112 | endif() | |
113 | ||
114 | install (TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) |