Skip to content

Commit

Permalink
Use tinyxml as ExternalProject instead of git submodule
Browse files Browse the repository at this point in the history
  • Loading branch information
bear101 committed Feb 2, 2022
1 parent 4eb3aef commit 183c2d6
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 39 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
[submodule "TeamTalkClassic/tinyxml"]
path = Client/TeamTalkClassic/tinyxml
url = https://github.com/bear101/tinyxml
[submodule "Library/TeamTalkLib/test/testdata"]
path = Library/TeamTalkLib/test/testdata
url = https://github.com/BearWare/testdata
78 changes: 54 additions & 24 deletions Client/TeamTalkClassic/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,40 @@ include (ttclassic.cmake)

if (MSVC)

set (PLATFORMTOOLSET "/property:PlatformToolset=v142")

if (${CMAKE_SIZEOF_VOID_P} EQUAL 8)
ExternalProject_Add(tinyxml-classic-src
GIT_REPOSITORY https://github.com/bear101/tinyxml
GIT_TAG 224ab4ea35ded8ee95f13c84c30592abf5292af8
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_IN_SOURCE TRUE
BUILD_COMMAND msbuild -maxCpuCount ${PLATFORMTOOLSET} /p:Platform=x64 tinyxml.sln -target:tinyxml /property:Configuration=Debug
COMMAND msbuild -maxCpuCount ${PLATFORMTOOLSET} /p:Platform=x64 tinyxml.sln -target:tinyxml /property:Configuration=Release
INSTALL_COMMAND ""
)
else()
ExternalProject_Add(tinyxml-classic-src
GIT_REPOSITORY https://github.com/bear101/tinyxml
GIT_TAG 224ab4ea35ded8ee95f13c84c30592abf5292af8
UPDATE_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_IN_SOURCE TRUE
BUILD_COMMAND msbuild -maxCpuCount ${PLATFORMTOOLSET} /p:Platform=win32 tinyxml.sln -target:tinyxml /property:Configuration=Debug
COMMAND msbuild -maxCpuCount ${PLATFORMTOOLSET} /p:Platform=win32 tinyxml.sln -target:tinyxml /property:Configuration=Release
INSTALL_COMMAND ""
)
endif()
ExternalProject_Get_Property(tinyxml-classic-src SOURCE_DIR)

add_library(tinyxml-classic STATIC IMPORTED)
add_dependencies(tinyxml-classic tinyxml-classic-src)
target_include_directories (tinyxml-classic INTERFACE ${SOURCE_DIR})
set_target_properties(tinyxml-classic PROPERTIES
IMPORTED_LOCATION_DEBUG ${SOURCE_DIR}/lib/$(PlatformName)/tinyxmld.lib
IMPORTED_LOCATION ${SOURCE_DIR}/lib/$(PlatformName)/tinyxml.lib)

option (BUILD_TEAMTALK_CLIENT_MFC_EXAMPLE "Build TeamTalk 5 Classic for TeamTalk 5 Standard Edition" ON)
option (BUILD_TEAMTALK_PROCLIENT_MFC_EXAMPLE "Build TeamTalk 5 Classic Pro for TeamTalk 5 Professional Edition" ON)

Expand Down Expand Up @@ -46,21 +80,17 @@ if (MSVC)
if (${CMAKE_SIZEOF_VOID_P} EQUAL 8)
add_definitions (-D_WIN64)
if (BUILD_TEAMTALK_CLIENT_MFC_EXAMPLE)
add_executable (TeamTalk5Classic WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS}
${TINYXML_SOURCES} ${TINYXML_HEADERS} res/TeamTalk_amd64.manifest)
add_executable (TeamTalk5Classic WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS} res/TeamTalk_amd64.manifest)
endif()
if (BUILD_TEAMTALK_PROCLIENT_MFC_EXAMPLE)
add_executable (TeamTalk5ClassicPro WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS}
${TINYXML_SOURCES} ${TINYXML_HEADERS} res/TeamTalk_amd64.manifest)
add_executable (TeamTalk5ClassicPro WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS} res/TeamTalk_amd64.manifest)
endif()
else()
if (BUILD_TEAMTALK_CLIENT_MFC_EXAMPLE)
add_executable (TeamTalk5Classic WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS}
${TINYXML_SOURCES} ${TINYXML_HEADERS} res/TeamTalk.manifest)
add_executable (TeamTalk5Classic WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS} res/TeamTalk.manifest)
endif()
if (BUILD_TEAMTALK_PROCLIENT_MFC_EXAMPLE)
add_executable (TeamTalk5ClassicPro WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS}
${TINYXML_SOURCES} ${TINYXML_HEADERS} res/TeamTalk.manifest)
add_executable (TeamTalk5ClassicPro WIN32 ${TTCLASSIC_SOURCES} ${TTCLASSIC_HEADERS} res/TeamTalk.manifest)
endif()
endif()

Expand All @@ -73,20 +103,20 @@ if (MSVC)
target_compile_options (TeamTalk5Classic PUBLIC -DENABLE_TOLK ${TTCLASSIC_COMPILE_FLAGS})
install (FILES ${TOLK_DLL_FILES} DESTINATION Client/TeamTalkClassic)
if (BUILD_TEAMTALK_DLL)
target_include_directories (TeamTalk5Classic PUBLIC ./ tinyxml)
target_link_libraries (TeamTalk5Classic TeamTalk5DLL Tolk)
target_include_directories (TeamTalk5Classic PUBLIC ./)
target_link_libraries (TeamTalk5Classic TeamTalk5DLL Tolk tinyxml-classic)
else()
target_include_directories (TeamTalk5Classic PUBLIC ./ ../../Library/TeamTalk_DLL tinyxml)
target_link_libraries (TeamTalk5Classic TeamTalk5 Tolk)
target_include_directories (TeamTalk5Classic PUBLIC ./ ../../Library/TeamTalk_DLL)
target_link_libraries (TeamTalk5Classic TeamTalk5 Tolk tinyxml-classic)
endif()
else()
target_compile_options (TeamTalk5Classic PUBLIC ${TTCLASSIC_COMPILE_FLAGS})
if (BUILD_TEAMTALK_DLL)
target_include_directories (TeamTalk5Classic PUBLIC ./ tinyxml)
target_link_libraries (TeamTalk5Classic TeamTalk5DLL)
target_include_directories (TeamTalk5Classic PUBLIC ./)
target_link_libraries (TeamTalk5Classic TeamTalk5DLL tinyxml-classic)
else()
target_include_directories (TeamTalk5Classic PUBLIC ./ ../../Library/TeamTalk_DLL tinyxml)
target_link_libraries (TeamTalk5Classic TeamTalk5)
target_include_directories (TeamTalk5Classic PUBLIC ./ ../../Library/TeamTalk_DLL)
target_link_libraries (TeamTalk5Classic TeamTalk5 tinyxml-classic)
endif()
endif()
set_output_dir(TeamTalk5Classic "${CMAKE_CURRENT_SOURCE_DIR}/")
Expand All @@ -100,20 +130,20 @@ if (MSVC)
if (BUILD_TEAMTALK_CLIENT_TOLK)
target_compile_options (TeamTalk5ClassicPro PUBLIC -DENABLE_TEAMTALKPRO -DENABLE_TOLK ${TTCLASSIC_COMPILE_FLAGS})
if (BUILD_TEAMTALK_PRODLL)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./ tinyxml)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5ProDLL Tolk)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5ProDLL Tolk tinyxml-classic)
else()
target_include_directories (TeamTalk5ClassicPro PUBLIC ./ ../../Library/TeamTalk_DLL tinyxml)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5Pro Tolk)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./ ../../Library/TeamTalk_DLL)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5Pro Tolk tinyxml-classic)
endif()
else()
target_compile_options (TeamTalk5ClassicPro PUBLIC -DENABLE_TEAMTALKPRO ${TTCLASSIC_COMPILE_FLAGS})
if (BUILD_TEAMTALK_PRODLL)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./ tinyxml)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5ProDLL)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5ProDLL tinyxml-classic)
else()
target_link_libraries (TeamTalk5ClassicPro TeamTalk5Pro)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./ ../../Library/TeamTalk_DLL tinyxml)
target_include_directories (TeamTalk5ClassicPro PUBLIC ./ ../../Library/TeamTalk_DLL)
target_link_libraries (TeamTalk5ClassicPro TeamTalk5Pro tinyxml-classic)
endif()
endif()
set_output_dir(TeamTalk5ClassicPro "${CMAKE_CURRENT_SOURCE_DIR}/")
Expand Down
1 change: 0 additions & 1 deletion Client/TeamTalkClassic/tinyxml
Submodule tinyxml deleted from e17e6b
11 changes: 0 additions & 11 deletions Client/TeamTalkClassic/ttclassic.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -192,14 +192,3 @@ set (TTCLASSIC_HEADERS
wizard/WizMasterSheet.h
wizard/WizSoundSysPage.h
wizard/WizWelcomePage.h)

set (TINYXML_SOURCES
tinyxml/tinystr.cpp
tinyxml/tinyxml.cpp
tinyxml/tinyxmlerror.cpp
tinyxml/tinyxmlparser.cpp)

set (TINYXML_HEADERS
tinyxml/tinystr.h
tinyxml/tinyxml.h)

0 comments on commit 183c2d6

Please sign in to comment.