File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ cmake_minimum_required (VERSION 3.10 )
2+ project (PSN VERSION 2.03 LANGUAGES CXX )
3+
4+ # Set C++ standard
5+ set (CMAKE_CXX_STANDARD 11)
6+ set (CMAKE_CXX_STANDARD_REQUIRED ON )
7+
8+ # Create header-only library interface
9+ add_library (psn INTERFACE )
10+
11+ # Add include directory
12+ target_include_directories (psn INTERFACE
13+ $<BUILD_INTERFACE :${CMAKE_CURRENT_SOURCE_DIR} /include >
14+ $<INSTALL_INTERFACE :include >
15+ )
16+
17+ # Platform-specific settings for network library
18+ if (WIN32 )
19+ target_link_libraries (psn INTERFACE ws2_32 )
20+ endif ()
21+
22+ # Add examples
23+ add_subdirectory (examples )
Original file line number Diff line number Diff line change 1+ # PSN Examples CMakeLists.txt
2+
3+ # psn_server executable
4+ add_executable (psn_server
5+ vs2015/psn_server/psn_server.cpp
6+ )
7+
8+ target_link_libraries (psn_server PRIVATE psn )
9+
10+ # psn_client executable
11+ add_executable (psn_client
12+ vs2015/psn_client/psn_client.cpp
13+ )
14+
15+ target_link_libraries (psn_client PRIVATE psn )
16+
17+ # psn_glut_client executable (optional - requires GLUT and OpenGL)
18+ find_package (OpenGL )
19+ find_package (GLUT )
20+
21+ if (OpenGL_FOUND AND GLUT_FOUND)
22+ add_executable (psn_glut_client
23+ vs2015/psn_glut_client/psn_glut_client.cpp
24+ )
25+
26+ target_link_libraries (psn_glut_client PRIVATE psn OpenGL::GL GLUT::GLUT )
27+ target_include_directories (psn_glut_client PRIVATE ${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR} )
28+
29+ # macOS specific: no need to copy DLL files
30+ # Windows would need post-build copy for glut32.dll or glut64.dll
31+
32+ message (STATUS "Building psn_glut_client (OpenGL visualizer)" )
33+ else ()
34+ if (NOT OpenGL_FOUND)
35+ message (WARNING "OpenGL not found - skipping psn_glut_client" )
36+ endif ()
37+ if (NOT GLUT_FOUND)
38+ message (WARNING "GLUT not found - skipping psn_glut_client" )
39+ endif ()
40+ endif ()
You can’t perform that action at this time.
0 commit comments