Prove install target works with test
Signed-off-by: Alain <alainmarcel@yahoo.com>
diff --git a/.travis.yml b/.travis.yml
index 34a5fca..cbc3e82 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,4 +35,6 @@
# Build steps
script:
- make release
+ - sudo make install
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7522b7d..48d1d31 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -158,7 +158,6 @@
${PROJECT_SOURCE_DIR}/src/surelog.h
)
-
add_library(surelog STATIC ${surelog_SRC})
set_target_properties(surelog PROPERTIES PUBLIC_HEADER "${SURELOG_PUBLIC_HEADERS}")
@@ -247,10 +246,13 @@
INSTALL(
FILES
${PROJECT_SOURCE_DIR}/src/SourceCompile/SymbolTable.h
+ ${PROJECT_SOURCE_DIR}/src/SourceCompile/VObjectTypes.h
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/surelog/SourceCompile
)
INSTALL(
FILES
+ ${PROJECT_SOURCE_DIR}/src/ErrorReporting/Location.h
+ ${PROJECT_SOURCE_DIR}/src/ErrorReporting/Error.h
${PROJECT_SOURCE_DIR}/src/ErrorReporting/ErrorDefinition.h
${PROJECT_SOURCE_DIR}/src/ErrorReporting/ErrorContainer.h
${PROJECT_SOURCE_DIR}/src/ErrorReporting/Report.h
@@ -259,6 +261,12 @@
)
INSTALL(
FILES
+ ${PROJECT_SOURCE_DIR}/dist/libantlr4-runtime.a
+ ${PROJECT_SOURCE_DIR}/build/third_party/flatbuffers/libflatbuffers.a
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/surelog
+ )
+INSTALL(
+ FILES
${PROJECT_SOURCE_DIR}/src/API/PythonAPI.h
${PROJECT_SOURCE_DIR}/src/API/SLAPI.h
${PROJECT_SOURCE_DIR}/src/API/Surelog.h
@@ -271,6 +279,11 @@
)
INSTALL(
FILES
+ ${PROJECT_SOURCE_DIR}/src/DesignCompile/CompileHelper.h
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/surelog/DesignCompile
+ )
+INSTALL(
+ FILES
${PROJECT_SOURCE_DIR}/src/Design/ClockingBlock.h
${PROJECT_SOURCE_DIR}/src/Design/Design.h
${PROJECT_SOURCE_DIR}/src/Design/Instance.h
diff --git a/Makefile b/Makefile
index d223a0f..4831233 100644
--- a/Makefile
+++ b/Makefile
@@ -24,7 +24,9 @@
install:
cd build; make install
+ cd tests/TestInstall; rm -rf build; mkdir -p build; cd build; cmake ../ -DINSTALL_DIR=/usr/local; make ; ./test_hellosureworld --version
uninstall:
rm -f /usr/local/bin/surelog
rm -rf /usr/local/lib/surelog
+ rm -rf /usr/local/include/surelog
diff --git a/src/Design/Scope.h b/src/Design/Scope.h
index 34d9431..a91aeee 100644
--- a/src/Design/Scope.h
+++ b/src/Design/Scope.h
@@ -30,10 +30,11 @@
#include "Design/DataType.h"
#include "Design/TfPortItem.h"
#include "Testbench/Variable.h"
-#include "DesignCompile/CompileHelper.h"
namespace SURELOG {
+class Statement;
+
class Scope {
public:
Scope(std::string name, Scope* parent)
diff --git a/src/surelog.h b/src/surelog.h
index 56c86bb..08c74f8 100644
--- a/src/surelog.h
+++ b/src/surelog.h
@@ -21,6 +21,10 @@
#include "CommandLine/CommandLineParser.h"
#include "SourceCompile/SymbolTable.h"
+#include "SourceCompile/VObjectTypes.h"
+#include "ErrorReporting/Location.h"
+#include "ErrorReporting/Error.h"
+#include "ErrorReporting/ErrorDefinition.h"
#include "ErrorReporting/ErrorContainer.h"
#include "ErrorReporting/Waiver.h"
@@ -34,6 +38,7 @@
// Full C++ DataModel API
#include "Common/ClockingBlockHolder.h"
+#include "DesignCompile/CompileHelper.h"
#include "Design/ClockingBlock.h"
#include "Design/Design.h"
#include "Design/Instance.h"
diff --git a/tests/TestInstall/CMakeLists.txt b/tests/TestInstall/CMakeLists.txt
new file mode 100644
index 0000000..e6a7f80
--- /dev/null
+++ b/tests/TestInstall/CMakeLists.txt
@@ -0,0 +1,39 @@
+# -*- mode:cmake -*-
+
+project(HELLOSUREWORLD)
+
+set(CMAKE_CXX_STANDARD 11)
+
+cmake_minimum_required(VERSION 3.0)
+
+# Python
+find_package(PythonLibs 3.3 REQUIRED)
+INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS})
+message(STATUS "PYTHON_LIBRARIES = ${PYTHON_LIBRARIES}")
+message(STATUS "PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}")
+message(STATUS "PYTHON_INCLUDE_DIRS = ${PYTHON_INCLUDE_DIRS}")
+
+# Directories
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/)
+set(CMAKE_BUILD_FILES_DIRECTORY ${dir})
+set(CMAKE_BUILD_DIRECTORY ${dir})
+
+# C++
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free ${MY_CXX_WARNING_FLAGS}")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -O0 -g ${MY_CXX_WARNING_FLAGS}")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -O3 -DNDEBUG ${MY_CXX_WARNING_FLAGS}")
+
+set (INCLUDE_DIR "${INSTALL_DIR}/include/surelog/")
+
+include_directories(${INCLUDE_DIR})
+
+set (LIB_DIR "${INSTALL_DIR}/lib/surelog/")
+
+set (INSTALL_LIBRARIES_FOR_SURELOG -L${LIB_DIR} surelog antlr4-runtime flatbuffers
+ ${PYTHON_LIBRARIES} dl util m rt pthread tcmalloc
+)
+
+add_executable(test_hellosureworld ${PROJECT_SOURCE_DIR}/../../src/hellosureworld.cpp)
+target_link_libraries(
+ test_hellosureworld ${INSTALL_LIBRARIES_FOR_SURELOG}
+)