Mon, 22 Jun 2015 02:30:07 +0300
Changed version to 1.1-beta
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 |
54
0b3a5bc4e8a8
VersionGuiEntry is now a proper class.
Teemu Piippo <tsapii@utu.fi>
parents:
50
diff
changeset
|
30 | config/versionguientry.cpp |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
31 | ) |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
32 | |
36 | 33 | set (ZCINEMA_HEADERS |
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
34 | commonlib/config.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
35 | commonlib/misc.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
36 | commonlib/types.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
37 | commonlib/version.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
38 | config/addversionprompt.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
39 | config/configwindow.h |
54
0b3a5bc4e8a8
VersionGuiEntry is now a proper class.
Teemu Piippo <tsapii@utu.fi>
parents:
50
diff
changeset
|
40 | config/versionguientry.h |
46
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
41 | launcher/demo.h |
07578e081ae8
Renamed the src* directories into commonlib/, config/ and launcher/
Teemu Piippo <crimsondusk64@gmail.com>
parents:
44
diff
changeset
|
42 | launcher/prompts.h |
36 | 43 | ) |
44 | ||
45 | set (ZCINEMA_FORMS | |
46 | ui/findfile.ui | |
47 | ui/demoprompt.ui | |
48 | ui/unknownversion.ui | |
49 | ui/configbox.ui | |
50 | ui/addversion.ui | |
51 | ) | |
52 | ||
53 | set (ZCINEMA_RESOURCES zcinema.qrc) | |
54 | ||
55 | if (NOT MSVC) | |
48 | 56 | 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
|
57 | else() |
50
5dc8b48f80b3
Removed the not very useful apply button from the config window
Teemu Piippo <tsapii@utu.fi>
parents:
49
diff
changeset
|
58 | # Some Qt headers (QMap and QHash) trigger C4180, disable that. |
5dc8b48f80b3
Removed the not very useful apply button from the config window
Teemu Piippo <tsapii@utu.fi>
parents:
49
diff
changeset
|
59 | add_definitions ("/wd4180 /D_CRT_SECURE_NO_WARNINGS /nologo") |
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
60 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Za") |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
61 | endif() |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
62 | |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
63 | if (MINGW) |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
64 | set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libgcc -static-libstdc++ -lpthread -static") |
36 | 65 | endif() |
66 | ||
67 | 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
|
68 | include_directories ("${PROJECT_SOURCE_DIR}") |
36 | 69 | |
70 | if (USE_QT5) | |
71 | qt5_generate_moc (ZCINEMA_MOC ${ZCINEMA_HEADERS}) | |
72 | qt5_add_resources (ZCINEMA_QRC ${ZCINEMA_RESOURCES}) | |
73 | 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
|
74 | |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
75 | 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
|
76 | ${ZCINEMA_COMMON_SOURCES} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
77 | ${ZCINEMA_QRC} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
78 | ${ZCINEMA_FORMS_HEADERS}) |
36 | 79 | else() |
80 | qt4_wrap_cpp (ZCINEMA_MOC ${ZCINEMA_HEADERS}) | |
81 | qt4_wrap_ui (ZCINEMA_FORMS_HEADERS ${ZCINEMA_FORMS}) | |
82 | 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
|
83 | |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
84 | 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
|
85 | ${ZCINEMA_COMMON_SOURCES} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
86 | ${ZCINEMA_RCC} |
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
87 | ${ZCINEMA_FORMS_HEADERS}) |
36 | 88 | endif() |
89 | ||
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
90 | 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
|
91 | 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
|
92 | |
36 | 93 | 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
|
94 | target_link_libraries (${PROJECT_NAME}-common Qt5::Widgets) |
36 | 95 | else() |
44
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}-common ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) |
36 | 97 | endif() |
98 | ||
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
99 | 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
|
100 | 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
|
101 | |
40
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
102 | add_custom_target (make_hginfo |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
103 | COMMAND python |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
104 | "${CMAKE_SOURCE_DIR}/updaterevision.py" |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
105 | "${CMAKE_CURRENT_BINARY_DIR}/hginfo.h" |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
106 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
809a75a7113b
Added updaterevision.py, use it for hg info
Teemu Piippo <crimsondusk64@gmail.com>
parents:
37
diff
changeset
|
107 | |
44
d0bf58f3560f
Split the project into two executables (the launcher and the configurator)
Teemu Piippo <crimsondusk64@gmail.com>
parents:
43
diff
changeset
|
108 | add_dependencies (${PROJECT_NAME}-common make_hginfo) |
49
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
109 | set_target_properties (${PROJECT_NAME} PROPERTIES AUTOMOC 1) |
7a27d14a4df1
Got it to compile under Windows
Teemu Piippo <tsapii@utu.fi>
parents:
48
diff
changeset
|
110 | 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
|
111 | |
36 | 112 | # With clang, we need to set -Wno-deprecated since Qt headers seem to use the register keyword |
113 | # which clang doesn't seem to like. | |
114 | if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | |
115 | set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") | |
116 | endif() | |
117 | ||
118 | install (TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin) |