Skip to content

[CMAKE][CORE] Move WWLib and WWDebug to Core #663

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 6 additions & 0 deletions Core/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# c stands for core, i stands for Interface
add_library(corei_libraries_include INTERFACE)
add_library(corei_libraries_source_wwvegas INTERFACE)
add_library(corei_libraries_source_wwvegas_wwdebug INTERFACE)
add_library(corei_libraries_source_wwvegas_wwlib INTERFACE)
add_library(corei_always INTERFACE)

target_include_directories(corei_libraries_include INTERFACE "Libraries/Include")
target_include_directories(corei_libraries_source_wwvegas INTERFACE "Libraries/Source/WWVegas")
target_include_directories(corei_libraries_source_wwvegas_wwdebug INTERFACE "Libraries/Source/WWVegas/WWDebug")
target_include_directories(corei_libraries_source_wwvegas_wwlib INTERFACE "Libraries/Source/WWVegas/WWLib")
target_link_libraries(corei_always INTERFACE
core_utility
corei_libraries_include
Expand Down
2 changes: 1 addition & 1 deletion Core/Libraries/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# WW common libraries decended from earliest C&C games
#add_subdirectory(Source/WWVegas)
add_subdirectory(Source/WWVegas)

# profiling library
#add_subdirectory(Source/profile)
Expand Down
57 changes: 57 additions & 0 deletions Core/Libraries/Source/WWVegas/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Interface libraries to set common defines and includes, avoid duplication later
add_library(core_wwcommon INTERFACE)

target_compile_definitions(core_wwcommon INTERFACE
#NOMINMAX
WIN32_LEAN_AND_MEAN
)

target_link_libraries(core_wwcommon INTERFACE
d3d8lib
core_config
core_utility
milesstub
stlport
)

target_include_directories(core_wwcommon INTERFACE
.
WWDebug
WWLib
)

# add_subdirectory(WWAudio)
add_subdirectory(WWDebug)
add_subdirectory(WWLib)
# add_subdirectory(WWMath)
# add_subdirectory(Wwutil)
# add_subdirectory(WWSaveLoad)
# add_subdirectory(WW3D2)
# add_subdirectory(WWDownload)
# add_subdirectory(wwshade)

# Helpful interface to bundle the ww modules together.
add_library(core_wwvegas INTERFACE)

target_include_directories(core_wwvegas INTERFACE
.
#WW3D2
WWDebug
#WWDownload
WWLib
#WWMath
#WWSaveLoad
#Wwutil
#wwshade
)

target_link_libraries(core_wwvegas INTERFACE
# core_ww3d2
core_wwdebug
# core_wwdownload
core_wwlib
# core_wwmath
# core_wwsaveload
# core_wwshade
# core_wwutil
)
21 changes: 21 additions & 0 deletions Core/Libraries/Source/WWVegas/WWDebug/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Set source files
set(WWDEBUG_SRC
wwdebug.cpp
wwdebug.h
wwhack.h
wwmemlog.cpp
wwmemlog.h
wwprofile.cpp
wwprofile.h
)

# Targets to build.
add_library(core_wwdebug STATIC)
set_target_properties(core_wwdebug PROPERTIES OUTPUT_NAME wwdebug)

target_sources(core_wwdebug PRIVATE ${WWDEBUG_SRC})

target_link_libraries(core_wwdebug PRIVATE
core_wwcommon
corei_always
)
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,8 @@ void WWDebug_DBWin32_Message_Handler( const char * message);
** WWDEBUG_SAY(("dir = %f\n",dir));
*/

#include "../../../../GameEngine/Include/Common/Debug.h"
// TheSuperHackers @compile feliwir 12/04/2025 Both Debug headers are identical. Use ZH.
#include "../../../../../GeneralsMD/Code/GameEngine/Include/Common/Debug.h"

#ifdef DEBUG_LOGGING
#define WWDEBUG_SAY(x) DEBUG_LOG(x)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,16 +153,16 @@ set(WWLIB_SRC
)

# Targets to build.
add_library(z_wwlib STATIC)
set_target_properties(z_wwlib PROPERTIES OUTPUT_NAME wwlib)
add_library(core_wwlib STATIC)
set_target_properties(core_wwlib PROPERTIES OUTPUT_NAME wwlib)

target_sources(z_wwlib PRIVATE ${WWLIB_SRC})
target_sources(core_wwlib PRIVATE ${WWLIB_SRC})

target_include_directories(z_wwlib PUBLIC
target_include_directories(core_wwlib PUBLIC
.
)

target_link_libraries(z_wwlib PRIVATE
z_wwcommon
zi_always
target_link_libraries(core_wwlib PRIVATE
core_wwcommon
corei_always
)
4 changes: 0 additions & 4 deletions Generals/Code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ add_library(gi_gameenginedevice_include INTERFACE)
add_library(gi_libraries_include INTERFACE)
add_library(gi_libraries_source_wwvegas INTERFACE)
add_library(gi_libraries_source_wwvegas_ww3d2 INTERFACE)
add_library(gi_libraries_source_wwvegas_wwdebug INTERFACE)
add_library(gi_libraries_source_wwvegas_wwlib INTERFACE)
add_library(gi_libraries_source_wwvegas_wwmath INTERFACE)
add_library(gi_libraries_source_wwvegas_wwsaveload INTERFACE)
add_library(gi_main INTERFACE)
Expand All @@ -18,8 +16,6 @@ target_include_directories(gi_gameenginedevice_include INTERFACE "GameEngineDevi
target_include_directories(gi_libraries_include INTERFACE "Libraries/Include")
target_include_directories(gi_libraries_source_wwvegas INTERFACE "Libraries/Source/WWVegas")
target_include_directories(gi_libraries_source_wwvegas_ww3d2 INTERFACE "Libraries/Source/WWVegas/WW3D2")
target_include_directories(gi_libraries_source_wwvegas_wwdebug INTERFACE "Libraries/Source/WWVegas/WWDebug")
target_include_directories(gi_libraries_source_wwvegas_wwlib INTERFACE "Libraries/Source/WWVegas/WWLib")
target_include_directories(gi_libraries_source_wwvegas_wwmath INTERFACE "Libraries/Source/WWVegas/WWMath")
target_include_directories(gi_libraries_source_wwvegas_wwsaveload INTERFACE "Libraries/Source/WWVegas/WWSaveLoad")
target_include_directories(gi_main INTERFACE "Main")
Expand Down
10 changes: 2 additions & 8 deletions Generals/Code/Libraries/Source/WWVegas/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ target_link_libraries(g_wwcommon INTERFACE
d3d8lib
core_config
core_utility
core_wwcommon
milesstub
stlport
)
Expand All @@ -13,15 +14,11 @@ target_include_directories(g_wwcommon INTERFACE
.
WW3D2
WWAudio
WWDebug
WWLib
WWMath
WWSaveLoad
Wwutil
)

add_subdirectory(WWDebug)
add_subdirectory(WWLib)
add_subdirectory(WWMath)
add_subdirectory(Wwutil)
add_subdirectory(WWSaveLoad)
Expand All @@ -34,19 +31,16 @@ add_library(g_wwvegas INTERFACE)
target_include_directories(g_wwvegas INTERFACE
.
WW3D2
WWDebug
WWDownload
WWLib
WWMath
WWSaveLoad
Wwutil
)

target_link_libraries(g_wwvegas INTERFACE
core_wwvegas
g_ww3d2
g_wwdebug
g_wwdownload
g_wwlib
g_wwmath
g_wwsaveload
g_wwutil
Expand Down
21 changes: 0 additions & 21 deletions Generals/Code/Libraries/Source/WWVegas/WWDebug/CMakeLists.txt

This file was deleted.

Loading