From 5ac3753c98c6ba3d406f34c017e60f0050b6af44 Mon Sep 17 00:00:00 2001 From: Kevin Zheng Date: Fri, 10 May 2013 17:44:09 -0500 Subject: [PATCH] Add new experimental build system using CMake. Because CMake does not allow the same name to be used with multiple output files, the 'gnucap' binary has been TEMPORARILY renamed to 'gcap' to avoid having to change the name of libgnucap.so. --- CMakeLists.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..813c227 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 2.6) +project(gnucap) + +# Tell the compiler where to find the header files. +include_directories(include/) + +# Build shared library. +add_library(gnucap SHARED lib/ap_construct.cc lib/ap_convert.cc lib/ap_error.cc lib/ap_get.cc lib/ap_match.cc lib/ap_skip.cc lib/bm.cc lib/bm_cond.cc lib/bm_value.cc lib/c__cmd.cc lib/c_attach.cc lib/c_file.cc lib/d_logic.cc lib/d_logicmod.cc lib/d_subckt.cc lib/e_base.cc lib/e_card.cc lib/e_cardlist.cc lib/e_ccsrc.cc lib/e_compon.cc lib/e_elemnt.cc lib/e_model.cc lib/e_node.cc lib/e_storag.cc lib/findbr.cc lib/globals.cc lib/io.cc lib/io_contr.cc lib/io_error.cc lib/io_findf.cc lib/io_out.cc lib/io_xopen.cc lib/l_ftos.cc lib/l_pmatch.cc lib/l_timer.cc lib/l_trim.cc lib/l_wmatch.cc lib/m_base_in.cc lib/m_base_math.cc lib/m_expression_dump.cc lib/m_expression_in.cc lib/m_expression_reduce.cc lib/m_fft.cc lib/m_spline.cc lib/plot.cc lib/u_function.cc lib/u_lang.cc lib/u_nodemap.cc lib/u_opt1.cc lib/u_opt2.cc lib/u_parameter.cc lib/u_prblst.cc lib/u_probe.cc lib/u_sim_data.cc lib/u_xprobe.cc) + +add_library(gnucap-modelgen modelgen/mg_error.cc modelgen/mg_in.cc modelgen/mg_main.cc modelgen/mg_out_common.cc modelgen/mg_out_dev.cc modelgen/mg_out_dump.cc modelgen/mg_out_h.cc modelgen/mg_out_lib.cc modelgen/mg_out_model.cc modelgen/mg_out_root.cc) + +# Build default plugins (apps). +add_library(gnucap-default-plugins SHARED apps/bm_complex.cc apps/bm_exp.cc apps/bm_fit.cc apps/bm_generator.cc apps/bm_model.cc apps/bm_poly.cc apps/bm_posy.cc apps/bm_pulse.cc apps/bm_pwl.cc apps/bm_sffm.cc apps/bm_sin.cc apps/bm_tanh.cc apps/bmm_semi.cc apps/bmm_table.cc apps/c_clear.cc apps/c_comand.cc apps/c_delete.cc apps/c_exp.cc apps/c_genrat.cc apps/c_list.cc apps/c_measure.cc apps/c_modify.cc apps/c_param.cc apps/c_prbcmd.cc apps/c_sim.cc apps/c_status.cc apps/c_sweep.cc apps/c_system.cc apps/d_admit.cc apps/d_cap.cc apps/d_cccs.cc apps/d_ccvs.cc apps/d_coil.cc apps/d_cs.cc apps/d_meter.cc apps/d_poly_cap.cc apps/d_poly_g.cc apps/d_res.cc apps/d_switch.cc apps/d_trln.cc apps/d_vcg.cc apps/d_vcr.cc apps/d_vcvs.cc apps/d_vs.cc apps/func_core.cc apps/lang_spectre.cc apps/lang_spice.cc apps/lang_verilog.cc apps/measure_at.cc apps/measure_average.cc apps/measure_cross.cc apps/measure_eval.cc apps/measure_integral.cc apps/measure_max.cc apps/measure_min.cc apps/measure_rms.cc apps/measure_slewrate.cc apps/s__init.cc apps/s__out.cc apps/s__solve.cc apps/s_ac.cc apps/s_dc.cc apps/s_fo.cc apps/s_tr.cc apps/s_tr_set.cc apps/s_tr_swp.cc apps/signon.cc) + +# Build gnucap binary. +add_executable(gcap main/main.cc) +target_link_libraries(gcap gnucap) -- 1.8.2.2