@@ -52,14 +52,12 @@ set(SRC_FILES
5252 ${SRC_DIR} /Util/Color.cpp
5353 ${SRC_DIR} /Util/Animation.cpp
5454 ${SRC_DIR} /Util/MissingTexture.cpp
55-
56- ${SRC_DIR} /App.cpp
57- ${SRC_DIR} /Giraffe.cpp
58- ${SRC_DIR} /GiraffeText.cpp
59- ${SRC_DIR} /Cat.cpp
6055)
6156set (INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /include )
6257set (INCLUDE_FILES
58+ ${INCLUDE_DIR} /pch.hpp
59+ ${INCLUDE_DIR} /config.hpp
60+
6361 ${INCLUDE_DIR} /Core/Context.hpp
6462 ${INCLUDE_DIR} /Core/DebugMessageCallback.hpp
6563 ${INCLUDE_DIR} /Core/VertexArray.hpp
@@ -87,15 +85,22 @@ set(INCLUDE_FILES
8785 ${INCLUDE_DIR} /Util/GameObject.hpp
8886 ${INCLUDE_DIR} /Util/Renderer.hpp
8987 ${INCLUDE_DIR} /Util/Color.hpp
90- ${INCLUDE_DIR} /Util/TransparentImage .hpp
88+ ${INCLUDE_DIR} /Util/MissingTexture .hpp
9189 ${INCLUDE_DIR} /Util/Base64.hpp
9290 ${INCLUDE_DIR} /Util/Animation.hpp
91+ )
92+ set (EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /example)
93+ set (EXAMPLE_FILES
94+ ${EXAMPLE_DIR} /src/App.cpp
95+ ${EXAMPLE_DIR} /src/Giraffe.cpp
96+ ${EXAMPLE_DIR} /src/GiraffeText.cpp
97+ ${EXAMPLE_DIR} /src/Cat.cpp
98+ ${EXAMPLE_DIR} /src/main.cpp
9399
94- ${INCLUDE_DIR} /App.hpp
95- ${INCLUDE_DIR} /Giraffe.hpp
96- ${INCLUDE_DIR} /GiraffeText.hpp
97- ${INCLUDE_DIR} /Cat.hpp
98- ${INCLUDE_DIR} /config.hpp
100+ ${EXAMPLE_DIR} /include /App.hpp
101+ ${EXAMPLE_DIR} /include /Giraffe.hpp
102+ ${EXAMPLE_DIR} /include /GiraffeText.hpp
103+ ${EXAMPLE_DIR} /include /Cat.hpp
99104)
100105set (TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR} /test )
101106set (TEST_FILES
@@ -104,67 +109,77 @@ set(TEST_FILES
104109 ${TEST_DIR} /TransformTest.cpp
105110)
106111
107- add_executable (Sample
112+ add_library (PTSD STATIC
108113 ${SRC_FILES}
109- ${SRC_DIR} /main.cpp
114+ ${INCLUDE_FILES}
110115)
111- target_link_libraries (Sample
116+ target_link_libraries (PTSD
112117 SDL2::SDL2main # IDK what happens if we don't link SDL2main
113118 ${DEPENDENCY_LINK_LIBRARIES}
114119)
115- target_include_directories (Sample SYSTEM PRIVATE
120+ target_include_directories (PTSD SYSTEM PRIVATE
116121 ${DEPENDENCY_INCLUDE_DIRS}
117122)
118- target_include_directories (Sample PRIVATE
123+ target_include_directories (PTSD PRIVATE
119124 ${INCLUDE_DIR}
120125)
121126if (${PTSD_ENABLE_PCH} )
122- target_precompile_headers(Sample PRIVATE
127+ target_precompile_headers(PTSD PRIVATE
123128 include /pch.hpp
124129 )
125130endif ()
126- target_compile_options (Sample PRIVATE
131+ target_compile_options (PTSD PRIVATE
127132 ${TARGET_COMPILE_OPTIONS}
128133)
129134
135+ add_executable (Example EXCLUDE_FROM_ALL
136+ ${EXAMPLE_FILES}
137+ )
138+ target_link_libraries (Example
139+ PTSD
140+ )
141+ target_include_directories (Example SYSTEM PRIVATE
142+ ${INCLUDE_DIR}
143+ ${DEPENDENCY_INCLUDE_DIRS}
144+ )
145+ target_include_directories (Example PRIVATE
146+ ${EXAMPLE_DIR} /include
147+ )
148+
130149enable_testing ()
131150
132- add_executable (Tests
151+ add_executable (Tests EXCLUDE_FROM_ALL
133152 ${TEST_FILES}
134153 ${SRC_FILES}
135154)
136155target_link_libraries (Tests
156+ PTSD
137157 GTest::gtest_main
138- ${DEPENDENCY_LINK_LIBRARIES}
139158)
140159target_include_directories (Tests SYSTEM PRIVATE
160+ ${INCLUDE_DIR}
141161 ${DEPENDENCY_INCLUDE_DIRS}
142162 lib/googletest/googletest/include
143163 lib/googletest/googlemock/include
144164)
145- target_include_directories (Tests PRIVATE
146- ${INCLUDE_DIR}
147- )
148165target_compile_options (Tests PRIVATE
149166 ${TARGET_COMPILE_OPTIONS}
150167)
151168
152- add_executable (AudioTest
169+ add_executable (AudioTest EXCLUDE_FROM_ALL
153170 ${TEST_DIR} /Interactive/Audio.cpp
154171 ${SRC_FILES}
155172)
156173target_link_libraries (AudioTest
174+ PTSD
157175 GTest::gtest_main
158- ${DEPENDENCY_LINK_LIBRARIES}
159176)
160177target_include_directories (AudioTest SYSTEM PRIVATE
178+ ${INCLUDE_DIR}
161179 ${DEPENDENCY_INCLUDE_DIRS}
162180 lib/googletest/googletest/include
163181 lib/googletest/googlemock/include
164182)
165- target_include_directories (AudioTest PRIVATE
166- ${INCLUDE_DIR}
167- )
168183target_compile_options (AudioTest PRIVATE
169184 ${TARGET_COMPILE_OPTIONS}
170185)
0 commit comments