Skip to content
Snippets Groups Projects
Commit c0111f41 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

Revised CMake machinery to ensure that tests use freshly compiled

library versions; renamed libfrida -> libfridacore, libtrivia ->
libfridatrivia.
parent 8f37fc2d
No related branches found
No related tags found
No related merge requests found
Release 2.3.4e of
Release 2.3.5a of
- Revised CMake machinery to ensure that tests use freshly compiled library versions
- Renamed libfrida -> libfridacore, libtrivia -> libfridatrivia
- Ensure termination of functional tests by including the one-line script "exit(1)"
Release 2.3.4d of 28jan17:
......
......@@ -22,6 +22,8 @@ configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/CTestCustom.cmake.in
#option(FRIDA_MAN "Build a user manual" OFF)
#option(BUILD_DEBIAN "Build a debian package" OFF)
set(destination_lib ${CMAKE_INSTALL_PREFIX}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -g -O2 -pedantic -Wall -Wno-sign-compare -Wno-unused-result -Wno-parentheses -Wno-unknown-pragmas -Werror")
# to use C99 _Complex, add -fext-numeric-literals to CXX_FLAGS
......
# frida: lib/CMakeLists.txt
set(library_name fridacore)
set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE)
set(${library_name}_LIBRARY_TYPE SHARED)
bison_target(xaxyacc
xax_yacc.ypp ${CMAKE_CURRENT_BINARY_DIR}/xax_yacc.cpp COMPILE_FLAGS "-p xax -y" )
flex_target(xaxlex
......@@ -81,25 +85,23 @@ set(inc_files
xax_lex.hpp
)
add_library(libfrida SHARED
add_library(${library_name} SHARED
${src_files}
${BISON_xaxyacc_OUTPUTS}
${FLEX_xaxlex_OUTPUTS}
)
set_target_properties(libfrida PROPERTIES OUTPUT_NAME frida)
target_link_libraries(libfrida
libreadplus
libtrivia
libfridaplot
target_link_libraries(${library_name}
${readplus_LIBRARY}
${fridatrivia_LIBRARY}
${fridaplot_LIBRARY}
pthread
${GSL_LIBRARIES}
${FFTW_LIBRARIES}
${KWW_LIBRARIES}
${Cerf_LIBRARIES}
${YAMLCPP_LIBRARY}
${LMFit_LIBRARIES}
)
install(TARGETS libfrida DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
set_target_properties(${library_name} PROPERTIES OUTPUT_NAME ${library_name})
install(TARGETS ${library_name} LIBRARY DESTINATION ${destination_lib} COMPONENT Libraries)
......@@ -125,8 +125,10 @@ void CFrida::execute_cmd(const string cmdline)
CFrida::CFrida()
{
cout << "DEBUG--00\n";
int line = 0;
try {
cout << "DEBUG--01\n";
// Initializations:
NReadln::initialize(); // command-line dialog (readline and history)
line = 1;
......@@ -136,6 +138,7 @@ CFrida::CFrida()
line = 3;
fbase_initialize();
line = 4;
cout << "DEBUG--05\n";
fassign_initialize();
line = 5;
fstring_initialize();
......@@ -148,6 +151,7 @@ CFrida::CFrida()
cout << "BUG: atexit registration failed\n";
exit(EXIT_FAILURE);
}
cout << "DEBUG--09\n";
// time monitor:
line = 9;
clock_start = clock();
......@@ -203,7 +207,7 @@ void CFrida::execute_file(const string fnam)
{
int lineno = 0;
try {
cout << "executing " << fnam << "\n";
cout << "X executing " << fnam << "\n";
std::ifstream F(fnam);
while (true) {
string cmdline = NMacro::readln("", &F, &lineno);
......
# frida: trivia/CMakeLists.txt
set(library_name fridaplot)
set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE)
set(${library_name}_LIBRARY_TYPE SHARED)
include_directories(${Frida_SOURCE_DIR}/plot ${CMAKE_CURRENT_BINARY_DIR})
set(src_files
axis.cpp
dualplot.cpp
plowin.cpp
)
axis.cpp
dualplot.cpp
plowin.cpp
)
set(inc_files
axis.hpp
dualplot.hpp
plowin.hpp
)
axis.hpp
dualplot.hpp
plowin.hpp
)
add_library(libfridaplot SHARED ${src_files})
add_library(${library_name} SHARED ${src_files})
set_target_properties(libfridaplot PROPERTIES OUTPUT_NAME fridaplot)
set_target_properties(${library_name} PROPERTIES OUTPUT_NAME ${library_name})
target_link_libraries(libfridaplot)
target_link_libraries(${library_name} ${Readline_LIBRARIES})
install(TARGETS libfridaplot DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(TARGETS ${library_name} LIBRARY DESTINATION ${destination_lib})
# frida: readplus/CMakeLists.txt
set(library_name readplus)
set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE)
set(${library_name}_LIBRARY_TYPE SHARED)
include_directories(${Frida_SOURCE_DIR}/readplus READLINE_INCLUDE_DIR ${Boost_INCLUDE_DIRS})
set(src_files
ask.cpp
macro.cpp
readln.cpp
)
ask.cpp
macro.cpp
readln.cpp
)
set(inc_files
ask.hpp
macro.hpp
readln.hpp
)
ask.hpp
macro.hpp
readln.hpp
)
add_library(libreadplus SHARED ${src_files})
add_library(${library_name} SHARED ${src_files})
set_target_properties(libreadplus PROPERTIES OUTPUT_NAME readplus)
set_target_properties(${library_name} PROPERTIES OUTPUT_NAME ${library_name})
target_link_libraries(libreadplus ${Readline_LIBRARIES})
target_link_libraries(${library_name} ${Readline_LIBRARIES})
install(TARGETS libreadplus DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(TARGETS ${library_name} LIBRARY DESTINATION ${destination_lib} COMPONENT Libraries)
......@@ -9,9 +9,10 @@ set(src_files frida2.cpp)
add_executable(frida frida2.cpp)
target_link_libraries(frida
libtrivia
libreadplus
${GSL_LIBRARIES}
libfrida)
# ${trivia_LIBRARY}
# ${readplus_LIBRARY}
# ${plot_LIBRARY}
# ${GSL_LIBRARIES}
${fridacore_LIBRARY})
install(TARGETS frida DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
# frida: trivia/CMakeLists.txt
set(library_name fridatrivia)
set(${library_name}_LIBRARY ${library_name} PARENT_SCOPE)
set(${library_name}_LIBRARY_TYPE SHARED)
include_directories(${Frida_SOURCE_DIR}/trivia ${CMAKE_CURRENT_BINARY_DIR})
set(src_files
file_ops.cpp
integrate.cpp
math.cpp
rng.cpp
string_convs.cpp
string_ops.cpp
vector_ops.cpp
yaml_out.cpp
)
file_ops.cpp
integrate.cpp
math.cpp
rng.cpp
string_convs.cpp
string_ops.cpp
vector_ops.cpp
yaml_out.cpp
)
set(inc_files
file_ops.hpp
integrate.hpp
math.hpp
rng.hpp
singleton.hpp
string_convs.hpp
string_ops.hpp
vector_ops.hpp
yaml_out.hpp
)
file_ops.hpp
integrate.hpp
math.hpp
rng.hpp
singleton.hpp
string_convs.hpp
string_ops.hpp
vector_ops.hpp
yaml_out.hpp
)
add_library(libtrivia SHARED ${src_files})
add_library(${library_name} SHARED ${src_files})
set_target_properties(libtrivia PROPERTIES OUTPUT_NAME trivia)
set_target_properties(${library_name} PROPERTIES OUTPUT_NAME ${library_name})
target_link_libraries(libtrivia)
target_link_libraries(${library_name}
${GSL_LIBRARIES}
${YAMLCPP_LIBRARY}
)
install(TARGETS libtrivia DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
install(TARGETS ${library_name} LIBRARY DESTINATION ${destination_lib} COMPONENT Libraries)
......@@ -25,10 +25,10 @@ link_directories(
set(test_link_libs
gtest_main
libtrivia
libreadplus
${GSL_LIBRARIES}
libfrida
# ${fridatrivia_LIBRARY}
# ${readplus_LIBRARY}
# ${GSL_LIBRARIES}
${fridacore_LIBRARY}
)
# We glob test sources, though this is often considered evil.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment