CMakeLists.txt

Thu, 23 Jul 2015 01:52:04 +0300

author
Teemu Piippo <tsapii@utu.fi>
date
Thu, 23 Jul 2015 01:52:04 +0300
changeset 88
08ccaf26cffd
parent 87
53c2aecb9704
child 89
777b2a10b835
permissions
-rw-r--r--

Now works with MSVC 2010/pdcurses-win32a

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)
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
57 add_definitions ("-D_CRT_SEURE_NO_WARNINGS")
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
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
60 if (PDCURSES_WIN32A_PATH)
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
61 include_directories (${PDCURSES_WIN32A_PATH}/include)
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
62
88
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
63 if (MINGW)
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
64 target_link_libraries (${TARGET_NAME} ${PDCURSES_WIN32A_PATH}/lib/pdcurses.a)
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
65 else()
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
66 target_link_libraries (${TARGET_NAME} ${PDCURSES_WIN32A_PATH}/lib/pdcurses.lib)
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
67 endif()
08ccaf26cffd Now works with MSVC 2010/pdcurses-win32a
Teemu Piippo <tsapii@utu.fi>
parents: 87
diff changeset
68 else()
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
69 message (SEND_ERROR "Must give PDCURSES_WIN32A_PATH on Windows")
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
70 endif()
81
a18aaf460648 Allow compilation on Windows/MinGW
Teemu Piippo <crimsondusk64@gmail.com>
parents: 76
diff changeset
71 else()
87
53c2aecb9704 some work on MSVC support (still doesn't work yet...)
Teemu Piippo <tsapii@utu.fi>
parents: 83
diff changeset
72 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
73 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
74 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
75 endif()
1
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
76
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
77 add_custom_target (make_hginfo_h
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
78 COMMAND python
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
79 "${CMAKE_SOURCE_DIR}/updaterevision/updaterevision.py"
4dd5bde4e777 - a whole lot of supplementary source code!!
Teemu Piippo <crimsondusk64@gmail.com>
parents:
diff changeset
80 "${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
81 add_dependencies (${TARGET_NAME} make_hginfo_h)

mercurial