CMakeLists.txt

Thu, 23 Jul 2015 02:35:13 +0300

author
Teemu Piippo <tsapii@utu.fi>
date
Thu, 23 Jul 2015 02:35:13 +0300
changeset 92
39947c46ed17
parent 89
777b2a10b835
child 97
2d43f05b284c
permissions
-rw-r--r--

Suppress more MSVC warnings

1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
1 cmake_minimum_required (VERSION 2.4)
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
2 cmake_policy (SET CMP0003 NEW)
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
3 project (ZFC9000)
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
4 string (TOLOWER ${CMAKE_PROJECT_NAME} TARGET_NAME)
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
5
76
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
6 add_library (huffman STATIC
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
7 huffman/bitreader.cpp
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
8 huffman/bitwriter.cpp
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
9 huffman/huffcodec.cpp
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
10 huffman/huffman.cpp
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
11 )
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
12
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
13 set (SOURCE_FILES
46
19be47c9bab7 - renamed RendererLine to ColoredLine and split it into its own files
Teemu Piippo <crimsondusk64@gmail.com>
parents: 37
diff changeset
14 sources/coloredline.cpp
14
33b8f428bacb - begin work on interface - input line works for the most part :)
Teemu Piippo <crimsondusk64@gmail.com>
parents: 10
diff changeset
15 sources/interface.cpp
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
16 sources/main.cpp
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents: 8
diff changeset
17 sources/md5.cpp
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
18 sources/mystring.cpp
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
19 sources/version.cpp
5
146825d63b9a - code cleanup
Teemu Piippo <crimsondusk64@gmail.com>
parents: 1
diff changeset
20 sources/network/bytestream.cpp
146825d63b9a - code cleanup
Teemu Piippo <crimsondusk64@gmail.com>
parents: 1
diff changeset
21 sources/network/ipaddress.cpp
10
3874575d924d - begin work on rcon sessions
Teemu Piippo <crimsondusk64@gmail.com>
parents: 8
diff changeset
22 sources/network/rconsession.cpp
6
c709bb1a08e4 - udp -> udpsocket
Teemu Piippo <crimsondusk64@gmail.com>
parents: 5
diff changeset
23 sources/network/udpsocket.cpp
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
24 )
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
25
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
26 set (HEADER_FILES
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
27 sources/basics.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
28 sources/coloredline.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
29 sources/geometry.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
30 sources/interface.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
31 sources/list.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
32 sources/main.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
33 sources/md5.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
34 sources/mystring.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
35 sources/network/bytestream.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
36 sources/network/ipaddress.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
37 sources/network/rconsession.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
38 sources/network/udpsocket.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
39 sources/range.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
40 sources/version.h
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
41 )
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
42
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
43 if (NOT WIN32)
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
44 find_package (Curses REQUIRED)
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
45 endif()
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
46
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
47 if (MINGW)
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
48 set (CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -static")
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
49 endif()
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
50
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
51 include_directories (${CMAKE_CURRENT_BINARY_DIR})
76
6de6d9a64ebd - moved huffman from sources/ to top level because it's external
Teemu Piippo <crimsondusk64@gmail.com>
parents: 46
diff changeset
52 include_directories (huffman)
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
53 add_executable (${TARGET_NAME} ${SOURCE_FILES} ${HEADER_FILES})
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
54 target_link_libraries (${TARGET_NAME} huffman)
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
55
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
56 if (WIN32)
92
39947c46ed17 Suppress more MSVC warnings
Teemu Piippo <tsapii@utu.fi>
parents: 89
diff changeset
57 add_definitions (-D_CRT_SECURE_NO_WARNINGS)
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
58 target_link_libraries (${TARGET_NAME} wsock32 ws2_32)
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
59
89
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
60 if (PDCURSES_PATH OR PDCURSES_WIN32A_PATH)
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
61 if (NOT PDCURSES_PATH)
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
62 set (PDCURSES_PATH "${PDCURSES_WIN32A_PATH}")
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
63 add_definitions (-DHAVE_PDCURSES_WIN32A)
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
64 endif()
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
65
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
66 include_directories (${PDCURSES_PATH}/include)
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
67
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
68 if (MINGW)
89
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
69 target_link_libraries (${TARGET_NAME} ${PDCURSES_PATH}/lib/pdcurses.a)
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
70 else()
89
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
71 target_link_libraries (${TARGET_NAME} ${PDCURSES_PATH}/lib/pdcurses.lib)
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
72 endif()
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
73 else()
89
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
74 message (SEND_ERROR "Must provide PDCURSES_PATH or PDCURSES_WIN32A_PATH on Windows")
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
75
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
76 if (MINGW)
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
77 message (SEND_ERROR "This path must contain pdcurses.a in lib/, and curses.h in include/.")
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
78 else()
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
79 message (SEND_ERROR "This path must contain pdcurses.lib in lib/, and curses.h in include/.")
777b2a10b835 Add support for standard pdcurses, thanks to Leonard for pointing out the solutions to a few mysteries.
Teemu Piippo <tsapii@utu.fi>
parents: 88
diff changeset
80 endif()
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
81 endif()
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
82 else()
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
83 include_directories (${CURSES_INCUDE_DIRS}) # sic
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
84 target_link_libraries (${TARGET_NAME} ${CURSES_LIBRARIES})
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
85 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -W -Wall -std=c++0x")
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
86 endif()
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
87
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
88 add_custom_target (make_hginfo_h
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
89 COMMAND python
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
90 "${CMAKE_SOURCE_DIR}/updaterevision/updaterevision.py"
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
91 "${CMAKE_CURRENT_BINARY_DIR}/hginfo.h")
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
92 add_dependencies (${TARGET_NAME} make_hginfo_h)

mercurial