[Build] Changed build for expat, solved missing definition for location.
authorandre ebersold <andre.ebersold@siemens.com>
Tue, 11 Jun 2024 13:36:57 +0000 (15:36 +0200)
committerandre ebersold <andre.ebersold@siemens.com>
Tue, 11 Jun 2024 13:36:57 +0000 (15:36 +0200)
CMakeLists.txt
src/xml/reqif/reqif_element.h

index 5b68e6f2cc2570778e7d11f71908d5db49925197..60a62b39da4ea82a2a901f84da2c61b1f5f8a0ce 100644 (file)
@@ -10,13 +10,31 @@ IF(NOT CMAKE_BUILD_TYPE)
   SET(CMAKE_BUILD_TYPE "Debug")
 ENDIF(NOT CMAKE_BUILD_TYPE)
 
+#
+# External dependencies
+#
+include(ExternalProject)
+#
+#
 IF(WIN32)
   # For win32 the build process is very different
   SET(ANTCC_GPL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../gpl")
-  # expat
-  SET(EXPAT_INCLUDE_DIR "c:/Tools/Expat 2.2.10/Source/lib" CACHE STRING "Expat include dir")
-  SET(EXPAT_LIBRARY "c:/Tools/Expat 2.2.10/Source/B64r/libexpat.lib" CACHE STRING "Expat library")
+  # 
+  # New way fro Expact
+  #
+  ExternalProject_Add(winexpat
+       PREFIX "${CMAKE_BINARY_DIR}/lib"
+       GIT_REPOSITORY https://github.com/libexpat/libexpat.git
+       GIT_TAG R_2_6_2
+       CONFIGURE_COMMAND ${CMAKE_COMMAND} 
+          -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/lib/installed
+          ${CMAKE_BINARY_DIR}/lib/src/winexpat/expat
+  )
+  SET(EXPAT_INCLUDE_DIR "${CMAKE_BINARY_DIR}/lib/installed/include" CACHE STRING "Expat include dir")
+  SET(EXPAT_LIBRARY "${CMAKE_BINARY_DIR}/lib/installed/lib/libexpat.lib" CACHE STRING "Expat library")
+
   INCLUDE_DIRECTORIES(${EXPAT_INCLUDE_DIR})
+
 ELSE(WIN32)
   FIND_PACKAGE(EXPAT REQUIRED)
   
@@ -48,7 +66,7 @@ TARGET_LINK_LIBRARIES(antcc libantcc_parser libantcc_os libantcc propertylib ${E
 # ReqIf main entry
 #
 ADD_EXECUTABLE(reqif reqif.cpp)
-
+add_dependencies(reqif winexpat)
 TARGET_LINK_LIBRARIES(reqif reqif_parser libantcc_os libantcc propertylib ${EXPAT_LIBRARY} ltdl)
 #
 #
@@ -137,6 +155,7 @@ MESSAGE(STATUS "Configuration")
 MESSAGE(STATUS "  Prefix ................. ${CMAKE_INSTALL_PREFIX}")
 MESSAGE(STATUS "    Bin  ................. ${CMAKE_INSTALL_BINDIR}")
 MESSAGE(STATUS "    Lib  ................. ${CMAKE_INSTALL_LIBDIR}")
+MESSAGE(STATUS "  Expat  ................. ${EXPAT_INCLUDE_DIR}")
 MESSAGE(STATUS "  Build type ............. ${CMAKE_BUILD_TYPE}")
 MESSAGE(STATUS "  Build Tests ............ ${ANTCC_BUILD_TESTS}")
 MESSAGE(STATUS "  Build Docs ............. ${ANTCC_BUILD_DOCS}")
index d70438f910e29441de77e1ef70fa88041a0a2bc9..afe289dde71220747b2b96338df0aa7d2eac8234 100644 (file)
 #endif
 #include <xml/element.h>
 
+#include <location.h>
+
 namespace reqif {
   class  project;
-  struct Location;
 
     // Ok, lets define ant_element
     struct  Element