summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/main.cc11
-rw-r--r--src/system.hh.in1
-rw-r--r--src/utils.h3
4 files changed, 15 insertions, 8 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f229d70c..4e0e23de 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -149,7 +149,7 @@ endif()
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- add_definitions(
+ add_compile_options(
# -Weverything
# -Wno-disabled-macro-expansion
# -Wno-padded
@@ -223,7 +223,7 @@ if (CMAKE_BUILD_TYPE STREQUAL "Debug")
-Wno-deprecated
-Wno-strict-aliasing)
- add_definitions(${GXX_WARNING_FLAGS})
+ add_compile_options(${GXX_WARNING_FLAGS})
macro(ADD_PCH_RULE _header_filename _src_list _other_srcs)
set(_gch_filename "${_header_filename}.gch")
@@ -287,8 +287,10 @@ if (BUILD_LIBRARY)
INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}"
VERSION ${Ledger_VERSION_MAJOR}
SOVERSION ${Ledger_VERSION_MAJOR})
+ set_source_files_properties(
+ ${LEDGER_CLI_SOURCES} PROPERTIES COMPILE_FLAGS "-fPIC")
- add_executable(ledger main.cc global.cc)
+ add_executable(ledger ${LEDGER_CLI_SOURCES})
target_link_libraries(ledger libledger)
if (HAVE_GPGME)
target_link_libraries(ledger Gpgmepp)
diff --git a/src/main.cc b/src/main.cc
index 6b3e1eb3..fcd61f28 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -41,6 +41,9 @@
#if HAVE_EDIT
#include <editline/readline.h>
+#elif HAVE_READLINE
+#include <readline/readline.h>
+#include <readline/history.h>
#endif
using namespace ledger;
@@ -137,7 +140,7 @@ int main(int argc, char * argv[], char * envp[])
bool exit_loop = false;
-#if HAVE_EDIT
+#if HAVE_EDIT || HAVE_READLINE
rl_readline_name = const_cast<char *>("Ledger");
// TODO: rl_attempted_completion_function = ledger_completion;
@@ -158,7 +161,7 @@ int main(int argc, char * argv[], char * envp[])
add_history(expansion);
}
-#else // HAVE_EDIT
+#else // HAVE_EDIT || HAVE_READLINE
while (! std::cin.eof()) {
std::cout << global_scope->prompt_string();
@@ -167,7 +170,7 @@ int main(int argc, char * argv[], char * envp[])
char * p = skip_ws(line);
-#endif // HAVE_EDIT
+#endif // HAVE_EDIT || HAVE_READLINE
check_for_signal();
@@ -178,7 +181,7 @@ int main(int argc, char * argv[], char * envp[])
global_scope->execute_command_wrapper(split_arguments(p), true);
}
-#if HAVE_EDIT
+#if HAVE_EDIT || HAVE_READLINE
if (expansion)
std::free(expansion);
std::free(p);
diff --git a/src/system.hh.in b/src/system.hh.in
index 10086d23..05f28fc2 100644
--- a/src/system.hh.in
+++ b/src/system.hh.in
@@ -52,6 +52,7 @@
#cmakedefine01 HAVE_GETTEXT
#cmakedefine01 HAVE_EDIT
+#cmakedefine01 HAVE_READLINE
#cmakedefine01 HAVE_GETPWUID
#cmakedefine01 HAVE_GETPWNAM
#cmakedefine01 HAVE_IOCTL
diff --git a/src/utils.h b/src/utils.h
index a3fc9de5..c17c8fb1 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -44,6 +44,7 @@
#pragma once
#include <boost/uuid/detail/sha1.hpp>
+#include <ledger.hh>
#define TIMERS_ON 1
@@ -94,7 +95,7 @@ namespace ledger {
#else // !NO_ASSERTS
-#define assert(x)
+#define assert(x) ((void)(x))
#endif // !NO_ASSERTS