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

Merge branch 'devel' into doc

parents 30f83997 caf40cfb
No related branches found
No related tags found
1 merge request!4Initial copy from wiki to Expressions.tex.
cd /G/f2
### merge devel into master
# git rebase -i HEAD~99 # correct commit messages; do not go past last tag or branch from master
git checkout master
git pull origin master
git merge --no-ff devel
git push origin master
### prepare
git push origin master
vi pub/CMakeLists.txt # increment version number, remove "post-"
vi pub/CHANGELOG
### purge
rm -r /G/f2/pub/build
rm -r /G/f2/pub/qtbuild
cd /G/f2/pub
......@@ -19,18 +15,16 @@ rm *~
rm */*~
rm */*/*~
rm */Doxyfile.bak
### pack
export V=2. # 2.<major>.<minor><bugfix>
export A=frida$V
cd /tmp
rm $A
slink /G/f2/pub $A
tar czvfh ~/data/tgz/$A.tgz $A/*
dl ~/data/tgz/frida2.* # CHECK size
rm $A
### update git
rm $A
cd /G/f2
kcom -m "This is release $V"
kush
......@@ -38,10 +32,10 @@ k tag v$V # Yes! Our IT wants version tags to start with "v".
# to delete erroneous tag: git tag -d $X; git push origin :refs/tags/$X
kush --tags
### upload tgz
ssh wuttke@a mv /www/apps/src/frida/frida2.* /www/apps/src/frida/old/
scp ~/data/tgz/$A.tgz wuttke@a:/www/apps/src/frida/
scp /G/f2/pub/CHANGELOG wuttke@a:/www/apps/src/frida/frida2-CHANGELOG
### advertise
......@@ -54,10 +48,9 @@ git checkout devel
git rebase master
cd /G/f2/pub
vi CMakeLists.txt # version becomes "post-<release>"
kcom -m "Starting post-$V"
kush
### rebuild
cd /G/f2/pub
mkdir build
cd build
......
Release 2.3.5a of 01feb17:
- CMake machinery now uses variables like ${library_name}_LIBRARY
- Renamed libfrida -> libfridacore, libtrivia -> libfridatrivia
- Fully relying on implicit library dependencies (frida -> libfridacore -> libfridatrivia -> GSL)
- Ensure termination of functional tests by including the one-line script "exit(1)"
Release 2.3.4d of 28jan17:
- mpgi,mpgr now using NOlo::j2j for spectrum correspondence
......
......@@ -8,7 +8,7 @@ set(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
project(Frida)
set(Frida_VERSION post-2.3.4d)
set(Frida_VERSION post-2.3.5a)
include(CTest) # equivalent to "enable_testing() ???
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) # => 'make check' is an alias for 'ctest'
......@@ -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
......
set(CTEST_CUSTOM_PRE_TEST "echo To run ctest before make install, unset LD_LIBRARY_PATH")
set(CTEST_CUSTOM_POST_TEST "echo For details, see the log files in Testing/Temporary/")
......@@ -11,6 +11,11 @@ enable_testing()
file(GLOB test_sources "*.f2t")
list(SORT test_sources)
# This one-line script ensures termination of the functional test.
# It is only executed if the test script terminates without reaching an 'exit' command.
set(exit1file "${CMAKE_BINARY_DIR}/exit1file.f2s")
file(WRITE ${exit1file} "exit(1)")
foreach(test_src ${test_sources})
# remove directory path and suffix, to retain just the name of the test
string(REGEX REPLACE ".*/" "" test_name "${test_src}")
......@@ -18,6 +23,6 @@ foreach(test_src ${test_sources})
add_test(
NAME ${test_name}
COMMAND ${CMAKE_BINARY_DIR}/src/frida
ARGUMENTS ${test_src}
ARGUMENTS ${test_src} ${exit1file}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endforeach(test_src)
# 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)
# 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